DeviceController.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package com.zswl.dataservice.controller.hardware;
  2. import com.zswl.dataservice.model.iot.IotMainModel;
  3. import com.zswl.dataservice.model.mqtt.DeviceInfoAddParam;
  4. import com.zswl.dataservice.model.mqtt.DeviceInfoModel;
  5. import com.zswl.dataservice.model.mqtt.DeviceInfoSearchParam;
  6. import com.zswl.dataservice.model.mqtt.DeviceInfoUpdateRemark;
  7. import com.zswl.dataservice.service.mqtt.DeviceInfoService;
  8. import com.zswl.dataservice.utils.result.ResultContent;
  9. import io.swagger.v3.oas.annotations.Operation;
  10. import io.swagger.v3.oas.annotations.Parameter;
  11. import io.swagger.v3.oas.annotations.tags.Tag;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.data.domain.Page;
  14. import org.springframework.data.domain.Pageable;
  15. import org.springframework.data.web.PageableDefault;
  16. import org.springframework.util.Assert;
  17. import org.springframework.validation.annotation.Validated;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.util.List;
  20. /**
  21. * 设备管理 服务
  22. *
  23. * @author TRX
  24. * @date 2024/3/21
  25. */
  26. @RequestMapping("/device")
  27. @RestController
  28. @Validated
  29. @Tag(name = "设备管理")
  30. public class DeviceController {
  31. @Autowired
  32. DeviceInfoService deviceInfoService;
  33. @Operation(summary = "添加-编辑设备")
  34. @RequestMapping(value = "addDeviceInfo", method = {RequestMethod.POST})
  35. public ResultContent addDeviceInfo(@RequestBody DeviceInfoAddParam param) {
  36. Assert.hasText(param.getDeviceId(), "设备ID不能为空");
  37. Assert.hasText(param.getDeviceName(), "设备名称不能为空");
  38. return deviceInfoService.addDeviceInfo(param);
  39. }
  40. @Operation(summary = "设备列表-分页查询")
  41. @RequestMapping(value = {"pageActivity"}, method = {RequestMethod.POST})
  42. public ResultContent<Page<DeviceInfoModel>> pageActivity(@Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable, @Parameter(required = false) DeviceInfoSearchParam param) {
  43. return deviceInfoService.pageDevice(pageable, param);
  44. }
  45. @Operation(summary = "删除设备")
  46. @RequestMapping(value = "deleteDeviceInfo", method = {RequestMethod.GET})
  47. public ResultContent deleteDeviceInfo(
  48. @Parameter(name = "deviceId", description = "数据ID", example = "")
  49. @RequestParam("deviceId") String deviceId) {
  50. return deviceInfoService.deleteDeviceInfo(deviceId);
  51. }
  52. @Operation(summary = "查询设备")
  53. @RequestMapping(value = "getDeviceById", method = {RequestMethod.GET})
  54. public ResultContent<DeviceInfoModel> getDeviceById(
  55. @Parameter(name = "deviceId", description = "数据ID", example = "")
  56. @RequestParam("deviceId") String deviceId) {
  57. return deviceInfoService.getDeviceById(deviceId);
  58. }
  59. @Operation(summary = "编辑备注")
  60. @RequestMapping(value = "updateRemark", method = {RequestMethod.POST})
  61. public ResultContent updateRemark(@RequestBody DeviceInfoUpdateRemark param) {
  62. Assert.hasText(param.getId(), "ID不能为空");
  63. return deviceInfoService.updateRemark(param);
  64. }
  65. @Operation(summary = "编辑关联的模版")
  66. @RequestMapping(value = "updateIopTemplate", method = {RequestMethod.POST})
  67. public ResultContent updateIopTemplate(@RequestBody DeviceInfoUpdateRemark param) {
  68. Assert.hasText(param.getId(), "ID不能为空");
  69. return deviceInfoService.updateIopTemplate(param);
  70. }
  71. @Operation(summary = "启用-禁用 设备")
  72. @RequestMapping(value = "updateDeviceState", method = {RequestMethod.POST})
  73. public ResultContent updateDeviceState(@RequestBody DeviceInfoUpdateRemark param) {
  74. Assert.hasText(param.getId(), "ID不能为空");
  75. if (param.getState() != null) {
  76. return ResultContent.buildFail("state不能为空");
  77. }
  78. return deviceInfoService.updateDeviceState(param);
  79. }
  80. @Operation(summary = "改变是否上传日志")
  81. @RequestMapping(value = "updateIsReportLogs", method = {RequestMethod.POST})
  82. public ResultContent updateIsReportLogs(@RequestBody DeviceInfoUpdateRemark param) {
  83. Assert.hasText(param.getId(), "ID不能为空");
  84. return deviceInfoService.updateIsReportLogs(param);
  85. }
  86. @Operation(summary = "ping设备")
  87. @RequestMapping(value = "testDevice", method = {RequestMethod.GET})
  88. public ResultContent<Long> testDevice(
  89. @Parameter(name = "deviceId", description = "数据ID", example = "")
  90. @RequestParam("deviceId") String deviceId) {
  91. return deviceInfoService.testDevice(deviceId);
  92. }
  93. @Operation(summary = "物模型数据")
  94. @RequestMapping(value = "getDeviceIotMainData", method = {RequestMethod.GET})
  95. public ResultContent<List<IotMainModel>> getDeviceIotMainData(
  96. @Parameter(name = "deviceId", description = "数据ID", example = "")
  97. @RequestParam("deviceId") String deviceId) {
  98. return deviceInfoService.getDeviceIotMain(deviceId);
  99. }
  100. }