IDeviceService.java 3.7 KB

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