IotDataController.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.usky.cdi.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.usky.cdi.service.impl.IotDataTransferService;
  4. import com.usky.cdi.service.vo.IotDataTransferVO;
  5. import com.usky.cdi.service.vo.base.*;
  6. import com.usky.common.core.bean.ApiResult;
  7. import lombok.extern.slf4j.Slf4j;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
  10. import org.springframework.web.bind.annotation.PostMapping;
  11. import org.springframework.web.bind.annotation.RequestBody;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.RestController;
  14. /**
  15. *
  16. * @author fyc
  17. * @email yuchuan.fu@chinausky.com
  18. * @date 2025/11/20
  19. */
  20. @Slf4j
  21. @RestController
  22. @RequestMapping("/api/iotInfo")
  23. @ConditionalOnProperty(prefix = "mqtt", value = {"enabled"}, havingValue = "true")
  24. public class IotDataController {
  25. @Autowired
  26. private IotDataTransferService iotDataTransferService;
  27. /**
  28. * 上报水浸状态
  29. */
  30. @PostMapping("/flooded")
  31. public ApiResult<Void> sendWaterLeak(@RequestBody IotDataTransferVO jsonObject) {
  32. // iotDataTransferService.createMqttConnection("3101130019", "ptrEQZK2");
  33. iotDataTransferService.sendWaterLeak(jsonObject);
  34. return ApiResult.success();
  35. }
  36. /**
  37. * 上报温度、湿度、氧气、一氧化碳、二氧化碳
  38. */
  39. @PostMapping("/envData")
  40. public ApiResult<Void> sendEnvData(@RequestBody IotDataTransferVO jsonObject) {
  41. iotDataTransferService.sendEnvData(jsonObject);
  42. return ApiResult.success();
  43. }
  44. /**
  45. * 上报人员闯入
  46. */
  47. @PostMapping("/personPresence")
  48. public ApiResult<Void> sendPerson(@RequestBody IotDataTransferVO jsonObject) {
  49. iotDataTransferService.sendPersonPresence(jsonObject);
  50. return ApiResult.success();
  51. }
  52. /**
  53. * 上报用电负荷
  54. */
  55. @PostMapping("/electricityLoad")
  56. public ApiResult<Void> sendElectricityLoad(@RequestBody IotDataTransferVO jsonObject) {
  57. iotDataTransferService.sendElectricityLoad(jsonObject);
  58. return ApiResult.success();
  59. }
  60. }