ISmsbDeviceService.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. package com.inspur.device.service;
  2. import com.inspur.device.domain.SmsbDevice;
  3. import com.inspur.device.domain.bo.HttpHeartbeatReq;
  4. import com.inspur.device.domain.bo.SmsbDeviceBo;
  5. import com.inspur.device.domain.vo.*;
  6. import org.dromara.common.core.domain.R;
  7. import org.dromara.common.mybatis.core.page.TableDataInfo;
  8. import org.dromara.common.mybatis.core.page.PageQuery;
  9. import org.springframework.web.multipart.MultipartFile;
  10. import java.util.Collection;
  11. import java.util.List;
  12. /**
  13. * 设备Service接口
  14. *
  15. * @author Hao Li
  16. * @date 2025-01-20
  17. */
  18. public interface ISmsbDeviceService {
  19. /**
  20. * 查询设备
  21. *
  22. * @param id 主键
  23. * @return 设备
  24. */
  25. SmsbDeviceVo queryById(Long id);
  26. SmsbDeviceVo queryByIdentifier(String identifier);
  27. /**
  28. * 分页查询设备列表
  29. *
  30. * @param bo 查询条件
  31. * @param pageQuery 分页参数
  32. * @return 设备分页列表
  33. */
  34. TableDataInfo<SmsbDeviceVo> queryPageList(SmsbDeviceBo bo, PageQuery pageQuery);
  35. /**
  36. * 查询符合条件的设备列表
  37. *
  38. * @param bo 查询条件
  39. * @return 设备列表
  40. */
  41. List<SmsbDeviceVo> queryList(SmsbDeviceBo bo);
  42. /**
  43. * 新增设备
  44. *
  45. * @param bo 设备
  46. * @return 是否新增成功
  47. */
  48. Boolean insertByBo(SmsbDeviceBo bo);
  49. /**
  50. * 修改设备
  51. *
  52. * @param bo 设备
  53. * @return 是否修改成功
  54. */
  55. Boolean updateByBo(SmsbDeviceBo bo);
  56. /**
  57. * 校验并批量删除设备信息
  58. *
  59. * @param ids 待删除的主键集合
  60. * @param isValid 是否进行有效性校验
  61. * @return 是否删除成功
  62. */
  63. Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
  64. /**
  65. * 校验设备是否存在
  66. * @param serialNumber
  67. * @param mac
  68. * @return
  69. */
  70. Boolean checkExist(String serialNumber,String mac);
  71. /**
  72. * 根据标识符查询设备
  73. * @param identifier
  74. * @return
  75. */
  76. SmsbDeviceVo getDeviceByIdentifier(String identifier);
  77. /**
  78. * 根据设备ID查询设备
  79. * @param deviceId
  80. * @return
  81. */
  82. SmsbDeviceVo getDeviceCacheById(Long deviceId);
  83. /**
  84. * 设备数量统计
  85. * @return
  86. */
  87. DeviceStatisticsVo deviceStatistics();
  88. /**
  89. * 设备运行详情
  90. * @param id
  91. * @return
  92. */
  93. SmsbDeviceRunInfoVo getRunInfo(Long id);
  94. /**
  95. * 更新设备状态
  96. * @param smsbDeviceVo
  97. * @return
  98. */
  99. SmsbDeviceVo updateDeviceStatus(SmsbDeviceVo smsbDeviceVo);
  100. /**
  101. * 根据租户ID查询设备列表
  102. * @param bo
  103. * @param pageQuery
  104. * @return
  105. */
  106. TableDataInfo<SmsbDeviceVo> queryPageListByTenantId(SmsbDeviceBo bo, PageQuery pageQuery);
  107. /**
  108. * 前端设备上传截图
  109. * @param identifier
  110. * @param timestamp
  111. * @param file
  112. * @return
  113. */
  114. R<Void> screenshotUpload(String identifier, Long timestamp, MultipartFile file);
  115. /**
  116. * 前端设备心跳接口
  117. * @param requestParam
  118. * @return
  119. */
  120. R<HttpHeartbeatRspVo> heartbeat(HttpHeartbeatReq requestParam);
  121. /**
  122. * 前端设备多功能卡上报
  123. * @param frontMultiCardUploadVo
  124. * @return
  125. */
  126. R<Void> uploadMultiCard(FrontMultiCardUploadVo frontMultiCardUploadVo);
  127. /**
  128. * 根据设备ID获取多功能卡数据
  129. * @param id
  130. * @return
  131. */
  132. List<SmsbDeviceMultiCardVo> getDeviceMultiCardList(Long id);
  133. }