IDeviceService.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. package com.genersoft.iot.vmp.service;
  2. import com.genersoft.iot.vmp.gb28181.bean.Device;
  3. import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
  4. import com.genersoft.iot.vmp.gb28181.bean.SyncStatus;
  5. import com.genersoft.iot.vmp.vmanager.bean.BaseTree;
  6. import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo;
  7. import java.util.List;
  8. /**
  9. * 设备相关业务处理
  10. * @author lin
  11. */
  12. public interface IDeviceService {
  13. /**
  14. * 设备上线
  15. * @param device 设备信息
  16. */
  17. void online(Device device);
  18. /**
  19. * 设备下线
  20. * @param deviceId 设备编号
  21. */
  22. void offline(String deviceId, String reason);
  23. /**
  24. * 添加目录订阅
  25. * @param device 设备信息
  26. * @return 布尔
  27. */
  28. boolean addCatalogSubscribe(Device device);
  29. /**
  30. * 移除目录订阅
  31. * @param device 设备信息
  32. * @return 布尔
  33. */
  34. boolean removeCatalogSubscribe(Device device);
  35. /**
  36. * 添加移动位置订阅
  37. * @param device 设备信息
  38. * @return 布尔
  39. */
  40. boolean addMobilePositionSubscribe(Device device);
  41. /**
  42. * 移除移动位置订阅
  43. * @param device 设备信息
  44. * @return 布尔
  45. */
  46. boolean removeMobilePositionSubscribe(Device device);
  47. /**
  48. * 移除移动位置订阅
  49. * @param deviceId 设备ID
  50. * @return 同步状态
  51. */
  52. SyncStatus getChannelSyncStatus(String deviceId);
  53. /**
  54. * 查看是否仍在同步
  55. * @param deviceId 设备ID
  56. * @return 布尔
  57. */
  58. Boolean isSyncRunning(String deviceId);
  59. /**
  60. * 通道同步
  61. * @param device 设备信息
  62. */
  63. void sync(Device device);
  64. /**
  65. * 查询设备信息
  66. * @param deviceId 设备编号
  67. * @return 设备信息
  68. */
  69. Device getDevice(String deviceId);
  70. /**
  71. * 获取所有在线设备
  72. * @return 设备列表
  73. */
  74. List<Device> getAllOnlineDevice();
  75. /**
  76. * 判断是否注册已经失效
  77. * @param device 设备信息
  78. * @return 布尔
  79. */
  80. boolean expire(Device device);
  81. /**
  82. * 检查设备状态
  83. * @param device 设备信息
  84. */
  85. void checkDeviceStatus(Device device);
  86. /**
  87. * 根据IP和端口获取设备信息
  88. * @param host IP
  89. * @param port 端口
  90. * @return 设备信息
  91. */
  92. Device getDeviceByHostAndPort(String host, int port);
  93. /**
  94. * 更新设备
  95. * @param device 设备信息
  96. */
  97. void updateDevice(Device device);
  98. /**
  99. * 树形查询接口
  100. * @param deviceId 设备ID
  101. * @param parentId 父ID
  102. * @param onlyCatalog 只获取目录
  103. * @return
  104. */
  105. List<BaseTree<DeviceChannel>> queryVideoDeviceTree(String deviceId, String parentId, boolean onlyCatalog);
  106. /**
  107. * 查询树节点下的通道
  108. * @param deviceId 设备ID
  109. * @param parentId 父ID
  110. * @return
  111. */
  112. List<DeviceChannel> queryVideoDeviceInTreeNode(String deviceId, String parentId);
  113. /**
  114. * 检查设备编号是否已经存在
  115. * @param deviceId 设备编号
  116. * @return
  117. */
  118. boolean isExist(String deviceId);
  119. /**
  120. * 添加设备
  121. * @param device
  122. */
  123. void addDevice(Device device);
  124. /**
  125. * 页面表单更新设备信息
  126. * @param device
  127. */
  128. void updateCustomDevice(Device device);
  129. /**
  130. * 删除设备
  131. * @param deviceId
  132. * @return
  133. */
  134. boolean delete(String deviceId);
  135. /**
  136. * 获取统计信息
  137. * @return
  138. */
  139. ResourceBaceInfo getOverview();
  140. /**
  141. * 获取所有设备
  142. */
  143. List<Device> getAll();
  144. }