Ver Fonte

国伟修改

523096025 há 6 meses atrás
pai
commit
0fe3220019
88 ficheiros alterados com 3452 adições e 189 exclusões
  1. 33 0
      .gitignore
  2. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDeviceAtomizingController.java
  3. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDeviceChuchouController.java
  4. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDeviceDeflectorController.java
  5. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDeviceFloodlightController.java
  6. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDeviceHeaterController.java
  7. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDeviceLiaotaController.java
  8. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDevicePadController.java
  9. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/controller/RawDataController.java
  10. 4 2
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvAmmonia.java
  11. 4 2
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvCo2.java
  12. 1 1
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDevice.java
  13. 72 0
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceAtomizing.java
  14. 72 0
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceChuchou.java
  15. 72 0
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceDeflector.java
  16. 3 1
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceFenestrule.java
  17. 72 0
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceFloodlight.java
  18. 72 0
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceHeater.java
  19. 72 0
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceLiaota.java
  20. 72 0
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDevicePad.java
  21. 1 1
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceRecentlyData.java
  22. 8 4
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvFeed.java
  23. 4 2
      huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvPressure.java
  24. 40 0
      huimv-env-common/src/main/java/com/huimv/env/common/entity/RawData.java
  25. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDeviceAtomizingMapper.java
  26. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDeviceChuchouMapper.java
  27. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDeviceDeflectorMapper.java
  28. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDeviceFloodlightMapper.java
  29. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDeviceHeaterMapper.java
  30. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDeviceLiaotaMapper.java
  31. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDevicePadMapper.java
  32. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/mapper/RawDataMapper.java
  33. 7 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvCo2Service.java
  34. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceAtomizingService.java
  35. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceChuchouService.java
  36. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceDeflectorService.java
  37. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceFloodlightService.java
  38. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceHeaterService.java
  39. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceLiaotaService.java
  40. 16 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDevicePadService.java
  41. 2 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceService.java
  42. 5 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvElectricityService.java
  43. 2 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvHumiService.java
  44. 7 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvPressureService.java
  45. 2 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvTempService.java
  46. 1 1
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvWarningService.java
  47. 5 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvWaterService.java
  48. 17 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/IRawDataService.java
  49. 30 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvCo2ServiceImpl.java
  50. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceAtomizingServiceImpl.java
  51. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceChuchouServiceImpl.java
  52. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceDeflectorServiceImpl.java
  53. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceFloodlightServiceImpl.java
  54. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceHeaterServiceImpl.java
  55. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceLiaotaServiceImpl.java
  56. 20 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDevicePadServiceImpl.java
  57. 1 1
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceRecentlyDataServiceImpl.java
  58. 5 1
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceServiceImpl.java
  59. 34 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvElectricityServiceImpl.java
  60. 2 2
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvFengPeizhiServiceImpl.java
  61. 12 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvHumiServiceImpl.java
  62. 27 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvPressureServiceImpl.java
  63. 14 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvTempServiceImpl.java
  64. 34 4
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvWarningServiceImpl.java
  65. 35 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvWaterServiceImpl.java
  66. 63 0
      huimv-env-common/src/main/java/com/huimv/env/common/service/impl/RawDataServiceImpl.java
  67. 68 1
      huimv-env-common/src/main/java/com/huimv/env/common/utils/Const.java
  68. 20 0
      huimv-env-common/src/main/resources/mapper/EnvDeviceAtomizingMapper.xml
  69. 20 0
      huimv-env-common/src/main/resources/mapper/EnvDeviceChuchouMapper.xml
  70. 20 0
      huimv-env-common/src/main/resources/mapper/EnvDeviceDeflectorMapper.xml
  71. 20 0
      huimv-env-common/src/main/resources/mapper/EnvDeviceFloodlightMapper.xml
  72. 20 0
      huimv-env-common/src/main/resources/mapper/EnvDeviceHeaterMapper.xml
  73. 20 0
      huimv-env-common/src/main/resources/mapper/EnvDeviceLiaotaMapper.xml
  74. 20 0
      huimv-env-common/src/main/resources/mapper/EnvDevicePadMapper.xml
  75. 13 0
      huimv-env-common/src/main/resources/mapper/RawDataMapper.xml
  76. 169 0
      huimv-env-device/src/main/java/com/huimv/env/device/listener/DeviceListener.java
  77. 26 0
      huimv-env-device/src/main/java/com/huimv/env/device/service/IDeviceService.java
  78. 682 60
      huimv-env-device/src/main/java/com/huimv/env/device/service/impl/DeviceServiceImpl.java
  79. 4 7
      huimv-env-device/src/main/resources/application-prod.yml
  80. 0 4
      huimv-env-input-water/pom.xml
  81. 83 10
      huimv-env-input-water/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java
  82. 198 0
      huimv-env-input/src/main/java/com/huimv/env/input/config/TopicRabbitMQConfig.java
  83. 93 0
      huimv-env-input/src/main/java/com/huimv/env/input/producer/Producer.java
  84. 279 77
      huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java
  85. 72 0
      huimv-env-input/src/main/java/com/huimv/env/input/utils/DSendSMS.java
  86. 171 0
      huimv-env-input/src/main/java/com/huimv/env/input/utils/SendSMS.java
  87. 6 8
      huimv-env-input/src/main/resources/application-prod.yml
  88. 1 0
      huimv-env-input/src/main/resources/application.properties

+ 33 - 0
.gitignore

@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDeviceAtomizingController.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 喷雾 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@RestController
+@RequestMapping("/env-device-atomizing")
+public class EnvDeviceAtomizingController {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDeviceChuchouController.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 照明灯 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-11-04
+ */
+@RestController
+@RequestMapping("/env-device-chuchou")
+public class EnvDeviceChuchouController {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDeviceDeflectorController.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 导流板 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@RestController
+@RequestMapping("/env-device-deflector")
+public class EnvDeviceDeflectorController {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDeviceFloodlightController.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 照明灯 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@RestController
+@RequestMapping("/env-device-floodlight")
+public class EnvDeviceFloodlightController {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDeviceHeaterController.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 加热器 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@RestController
+@RequestMapping("/env-device-heater")
+public class EnvDeviceHeaterController {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDeviceLiaotaController.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 照明灯 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-11-04
+ */
+@RestController
+@RequestMapping("/env-device-liaota")
+public class EnvDeviceLiaotaController {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/controller/EnvDevicePadController.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 湿帘 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@RestController
+@RequestMapping("/env-device-pad")
+public class EnvDevicePadController {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/controller/RawDataController.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2023-08-31
+ */
+@RestController
+@RequestMapping("/raw-data")
+public class RawDataController {
+
+}

+ 4 - 2
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvAmmonia.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -56,12 +58,12 @@ public class EnvAmmonia implements Serializable {
     /**
      * 应答时间
      */
-    private LocalDateTime askTime;
+    private Date askTime;
 
     /**
      * 入库时间
      */
-    private LocalDateTime updateTime;
+    private Date updateTime;
 
     private Integer farmId;
 

+ 4 - 2
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvCo2.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -56,12 +58,12 @@ public class EnvCo2 implements Serializable {
     /**
      * 应答时间
      */
-    private LocalDateTime askTime;
+    private Date askTime;
 
     /**
      * 入库时间
      */
-    private LocalDateTime updateTime;
+    private Date updateTime;
 
     private Integer farmId;
 

+ 1 - 1
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDevice.java

@@ -77,7 +77,7 @@ public class EnvDevice implements Serializable {
     /**
      * 日龄
      */
-    private Integer dayAge;
+    private String dayAge;
 
     private Integer farmId;
 

+ 72 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceAtomizing.java

@@ -0,0 +1,72 @@
+package com.huimv.env.common.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 喷雾
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("env_device_atomizing")
+public class EnvDeviceAtomizing implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备id
+     */
+    private String deviceCode;
+
+    /**
+     * 传感器id
+     */
+    private String chipCode;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 传感器名字
+     */
+    private String chipName;
+
+    /**
+     * 0:关闭  1:开启
+     */
+    private Integer chipStatus;
+
+    /**
+     * 值
+     */
+    private String chipValue;
+
+    private Integer farmId;
+
+    private String other1;
+
+    private String ohter2;
+
+    private String other3;
+
+
+}

+ 72 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceChuchou.java

@@ -0,0 +1,72 @@
+package com.huimv.env.common.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 照明灯
+ * </p>
+ *
+ * @author author
+ * @since 2024-11-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("env_device_chuchou")
+public class EnvDeviceChuchou implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备id
+     */
+    private String deviceCode;
+
+    /**
+     * 传感器id
+     */
+    private String chipCode;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 传感器名字
+     */
+    private String chipName;
+
+    /**
+     * 0:关闭  1:开启
+     */
+    private Integer chipStatus;
+
+    /**
+     * 值
+     */
+    private String chipValue;
+
+    private Integer farmId;
+
+    private String other1;
+
+    private String ohter2;
+
+    private String other3;
+
+
+}

+ 72 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceDeflector.java

@@ -0,0 +1,72 @@
+package com.huimv.env.common.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 导流板
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("env_device_deflector")
+public class EnvDeviceDeflector implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备id
+     */
+    private String deviceCode;
+
+    /**
+     * 传感器id
+     */
+    private String chipCode;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 传感器名字
+     */
+    private String chipName;
+
+    /**
+     * 0:关闭  1:开启
+     */
+    private Integer chipStatus;
+
+    /**
+     * 值
+     */
+    private String chipValue;
+
+    private Integer farmId;
+
+    private String other1;
+
+    private String ohter2;
+
+    private String other3;
+
+
+}

+ 3 - 1
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceFenestrule.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -41,7 +43,7 @@ public class EnvDeviceFenestrule implements Serializable {
     /**
      * 更新时间
      */
-    private LocalDateTime updateTime;
+    private Date updateTime;
 
     /**
      * 传感器名字

+ 72 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceFloodlight.java

@@ -0,0 +1,72 @@
+package com.huimv.env.common.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 照明灯
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("env_device_floodlight")
+public class EnvDeviceFloodlight implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备id
+     */
+    private String deviceCode;
+
+    /**
+     * 传感器id
+     */
+    private String chipCode;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 传感器名字
+     */
+    private String chipName;
+
+    /**
+     * 0:关闭  1:开启
+     */
+    private Integer chipStatus;
+
+    /**
+     * 值
+     */
+    private String chipValue;
+
+    private Integer farmId;
+
+    private String other1;
+
+    private String ohter2;
+
+    private String other3;
+
+
+}

+ 72 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceHeater.java

@@ -0,0 +1,72 @@
+package com.huimv.env.common.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 加热器
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("env_device_heater")
+public class EnvDeviceHeater implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备id
+     */
+    private String deviceCode;
+
+    /**
+     * 传感器id
+     */
+    private String chipCode;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 传感器名字
+     */
+    private String chipName;
+
+    /**
+     * 0:关闭  1:开启
+     */
+    private Integer chipStatus;
+
+    /**
+     * 值
+     */
+    private String chipValue;
+
+    private Integer farmId;
+
+    private String other1;
+
+    private String ohter2;
+
+    private String other3;
+
+
+}

+ 72 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceLiaota.java

@@ -0,0 +1,72 @@
+package com.huimv.env.common.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 照明灯
+ * </p>
+ *
+ * @author author
+ * @since 2024-11-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("env_device_liaota")
+public class EnvDeviceLiaota implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备id
+     */
+    private String deviceCode;
+
+    /**
+     * 传感器id
+     */
+    private String chipCode;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 传感器名字
+     */
+    private String chipName;
+
+    /**
+     * 0:关闭  1:开启
+     */
+    private Integer chipStatus;
+
+    /**
+     * 值
+     */
+    private String chipValue;
+
+    private Integer farmId;
+
+    private String other1;
+
+    private String ohter2;
+
+    private String other3;
+
+
+}

+ 72 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDevicePad.java

@@ -0,0 +1,72 @@
+package com.huimv.env.common.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 湿帘
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("env_device_pad")
+public class EnvDevicePad implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备id
+     */
+    private String deviceCode;
+
+    /**
+     * 传感器id
+     */
+    private String chipCode;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 传感器名字
+     */
+    private String chipName;
+
+    /**
+     * 0:关闭  1:开启
+     */
+    private Integer chipStatus;
+
+    /**
+     * 值
+     */
+    private String chipValue;
+
+    private Integer farmId;
+
+    private String other1;
+
+    private String ohter2;
+
+    private String other3;
+
+
+}

+ 1 - 1
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvDeviceRecentlyData.java

@@ -45,7 +45,7 @@ public class EnvDeviceRecentlyData implements Serializable {
     /**
      * 值
      */
-    private BigDecimal chipValue;
+    private String chipValue;
 
     /**
      * 1:温度1   2:温度2  3:温度3  4:温度4  5:温度5  6:温度6  7:室外温度  8:湿度  9:压力  10:粉尘  11:氨气  12:co2  13:平均温度  14:目标湿度  15:通风级别  16:加热  17:水暖湿度  18:体感温度

+ 8 - 4
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvFeed.java

@@ -3,8 +3,12 @@ package com.huimv.env.common.entity;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -46,22 +50,22 @@ public class EnvFeed implements Serializable {
     /**
      * 原始值记录
      */
-    private String originalValue;
+    private BigDecimal originalValue;
 
     /**
      * 处理后的值
      */
-    private String handleValue;
+    private BigDecimal handleValue;
 
     /**
      * 应答时间
      */
-    private LocalDateTime askTime;
+    private Date askTime;
 
     /**
      * 入库时间
      */
-    private LocalDateTime updateTime;
+    private Date updateTime;
 
     private Integer farmId;
 

+ 4 - 2
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnvPressure.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -56,12 +58,12 @@ public class EnvPressure implements Serializable {
     /**
      * 应答时间
      */
-    private LocalDateTime askTime;
+    private Date askTime;
 
     /**
      * 入库时间
      */
-    private LocalDateTime updateTime;
+    private Date updateTime;
 
     private Integer farmId;
 

+ 40 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/RawData.java

@@ -0,0 +1,40 @@
+package com.huimv.env.common.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2023-08-31
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("raw_data")
+public class RawData implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String deviceCode;
+
+    private String data;
+
+    private Date createTime;
+
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDeviceAtomizingMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.mapper;
+
+import com.huimv.env.common.entity.EnvDeviceAtomizing;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 喷雾 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+public interface EnvDeviceAtomizingMapper extends BaseMapper<EnvDeviceAtomizing> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDeviceChuchouMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.mapper;
+
+import com.huimv.env.common.entity.EnvDeviceChuchou;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 照明灯 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-11-04
+ */
+public interface EnvDeviceChuchouMapper extends BaseMapper<EnvDeviceChuchou> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDeviceDeflectorMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.mapper;
+
+import com.huimv.env.common.entity.EnvDeviceDeflector;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 导流板 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+public interface EnvDeviceDeflectorMapper extends BaseMapper<EnvDeviceDeflector> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDeviceFloodlightMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.mapper;
+
+import com.huimv.env.common.entity.EnvDeviceFloodlight;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 照明灯 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+public interface EnvDeviceFloodlightMapper extends BaseMapper<EnvDeviceFloodlight> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDeviceHeaterMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.mapper;
+
+import com.huimv.env.common.entity.EnvDeviceHeater;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 加热器 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+public interface EnvDeviceHeaterMapper extends BaseMapper<EnvDeviceHeater> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDeviceLiaotaMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.mapper;
+
+import com.huimv.env.common.entity.EnvDeviceLiaota;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 照明灯 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-11-04
+ */
+public interface EnvDeviceLiaotaMapper extends BaseMapper<EnvDeviceLiaota> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/mapper/EnvDevicePadMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.mapper;
+
+import com.huimv.env.common.entity.EnvDevicePad;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 湿帘 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+public interface EnvDevicePadMapper extends BaseMapper<EnvDevicePad> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/mapper/RawDataMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.mapper;
+
+import com.huimv.env.common.entity.RawData;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2023-08-31
+ */
+public interface RawDataMapper extends BaseMapper<RawData> {
+
+}

+ 7 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvCo2Service.java

@@ -2,6 +2,10 @@ package com.huimv.env.common.service;
 
 import com.huimv.env.common.entity.EnvCo2;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.env.common.entity.EnvDevice;
+
+import java.math.BigDecimal;
+import java.util.Date;
 
 /**
  * <p>
@@ -13,4 +17,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IEnvCo2Service extends IService<EnvCo2> {
 
+    void saveCo2(String chipId, EnvDevice envDevice, Date uploadDate, BigDecimal humiValueHandle, BigDecimal humiValue);
+
+    boolean exitCo2(String chipId, Date uploadDate);
 }

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceAtomizingService.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.service;
+
+import com.huimv.env.common.entity.EnvDeviceAtomizing;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 喷雾 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+public interface IEnvDeviceAtomizingService extends IService<EnvDeviceAtomizing> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceChuchouService.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.service;
+
+import com.huimv.env.common.entity.EnvDeviceChuchou;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 照明灯 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-11-04
+ */
+public interface IEnvDeviceChuchouService extends IService<EnvDeviceChuchou> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceDeflectorService.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.service;
+
+import com.huimv.env.common.entity.EnvDeviceDeflector;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 导流板 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+public interface IEnvDeviceDeflectorService extends IService<EnvDeviceDeflector> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceFloodlightService.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.service;
+
+import com.huimv.env.common.entity.EnvDeviceFloodlight;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 照明灯 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+public interface IEnvDeviceFloodlightService extends IService<EnvDeviceFloodlight> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceHeaterService.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.service;
+
+import com.huimv.env.common.entity.EnvDeviceHeater;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 加热器 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+public interface IEnvDeviceHeaterService extends IService<EnvDeviceHeater> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceLiaotaService.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.service;
+
+import com.huimv.env.common.entity.EnvDeviceLiaota;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 照明灯 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-11-04
+ */
+public interface IEnvDeviceLiaotaService extends IService<EnvDeviceLiaota> {
+
+}

+ 16 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDevicePadService.java

@@ -0,0 +1,16 @@
+package com.huimv.env.common.service;
+
+import com.huimv.env.common.entity.EnvDevicePad;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 湿帘 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+public interface IEnvDevicePadService extends IService<EnvDevicePad> {
+
+}

+ 2 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvDeviceService.java

@@ -3,6 +3,8 @@ package com.huimv.env.common.service;
 import com.huimv.env.common.entity.EnvDevice;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Date;
+
 /**
  * <p>
  *  服务类

+ 5 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvElectricityService.java

@@ -1,8 +1,12 @@
 package com.huimv.env.common.service;
 
+import com.huimv.env.common.entity.EnvDevice;
 import com.huimv.env.common.entity.EnvElectricity;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IEnvElectricityService extends IService<EnvElectricity> {
 
+    void saveDianBiao(String chipId, EnvDevice envDevice, Date uploadDate, BigDecimal humiValueHandle, BigDecimal humiValue);
 }

+ 2 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvHumiService.java

@@ -18,4 +18,6 @@ import java.util.Date;
 public interface IEnvHumiService extends IService<EnvHumi> {
 
     void saveHumi(String chipId, EnvDevice envDevice, Date uploadDate, BigDecimal humiValueHandle, BigDecimal humiValue);
+
+    boolean exitHumi(String chipId, Date uploadDate);
 }

+ 7 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvPressureService.java

@@ -1,8 +1,12 @@
 package com.huimv.env.common.service;
 
+import com.huimv.env.common.entity.EnvDevice;
 import com.huimv.env.common.entity.EnvPressure;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +17,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IEnvPressureService extends IService<EnvPressure> {
 
+    void savePressure(String chipId, EnvDevice envDevice, Date uploadDate, BigDecimal humiValueHandle, BigDecimal humiValue);
+
+    boolean exitPressure(String chipId, Date uploadDate);
 }

+ 2 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvTempService.java

@@ -19,4 +19,6 @@ import java.util.Date;
 public interface IEnvTempService extends IService<EnvTemp> {
 
     void saveTemp(String chipId, EnvDevice envDevice, Date uploadDate, BigDecimal tempValue, BigDecimal originalTempValue);
+
+    boolean exitTemp(String chipId, Date uploadDate);
 }

+ 1 - 1
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvWarningService.java

@@ -17,7 +17,7 @@ import java.util.Date;
  */
 public interface IEnvWarningService extends IService<EnvWarning> {
 
-    void saveWarning(Date date, EnvDeviceRecentlyData envDeviceRecentlyData, EnvDevice envDevice, String chipId);
+    void saveWarning(Date date, EnvDeviceRecentlyData envDeviceRecentlyData, EnvDevice envDevice, String chipId,String content);
 
     void saveWarnings(EnvDevice envDevice, Date uploadDate, String ordeNumber, String actType);
 }

+ 5 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IEnvWaterService.java

@@ -1,8 +1,12 @@
 package com.huimv.env.common.service;
 
+import com.huimv.env.common.entity.EnvDevice;
 import com.huimv.env.common.entity.EnvWater;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IEnvWaterService extends IService<EnvWater> {
 
+    void saveShuiBiao(String chipId, EnvDevice envDevice, Date uploadDate, BigDecimal humiValueHandle, BigDecimal humiValue);
 }

+ 17 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/IRawDataService.java

@@ -0,0 +1,17 @@
+package com.huimv.env.common.service;
+
+import com.huimv.env.common.entity.RawData;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author author
+ * @since 2023-08-31
+ */
+public interface IRawDataService extends IService<RawData> {
+
+    void insert(String idCode, String askText);
+}

+ 30 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvCo2ServiceImpl.java

@@ -1,11 +1,19 @@
 package com.huimv.env.common.service.impl;
 
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.env.common.entity.EnvCo2;
+import com.huimv.env.common.entity.EnvDevice;
+import com.huimv.env.common.entity.EnvHumi;
 import com.huimv.env.common.mapper.EnvCo2Mapper;
 import com.huimv.env.common.service.IEnvCo2Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +25,26 @@ import org.springframework.stereotype.Service;
 @Service
 public class EnvCo2ServiceImpl extends ServiceImpl<EnvCo2Mapper, EnvCo2> implements IEnvCo2Service {
 
+    @Autowired
+    private EnvCo2Mapper envCo2Mapper;
+
+    @Override
+    public void saveCo2(String chipId, EnvDevice envDevice, Date uploadDate, BigDecimal humiValueHandle, BigDecimal humiValue) {
+        EnvCo2 envHumi = new EnvCo2();
+        envHumi.setAskTime(uploadDate);
+        envHumi.setChipCode(chipId);
+        envHumi.setDeviceCode(envDevice.getDeviceSortCode());
+        envHumi.setFarmId(envDevice.getFarmId());
+        envHumi.setHandleValue(humiValueHandle.toString());
+        envHumi.setOriginalValue(humiValue.toString());
+        envHumi.setUnitId(envDevice.getUnitId()+"");
+        envHumi.setUpdateTime(new Date());
+        this.save(envHumi);
+    }
+
+    @Override
+    public boolean exitCo2(String chipId, Date uploadDate) {
+        return envCo2Mapper.selectCount(new QueryWrapper<EnvCo2>().eq("chip_code", chipId).ge("ask_time", DateUtil.offsetMinute(new Date(), -4))) > 0;
+
+    }
 }

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceAtomizingServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.service.impl;
+
+import com.huimv.env.common.entity.EnvDeviceAtomizing;
+import com.huimv.env.common.mapper.EnvDeviceAtomizingMapper;
+import com.huimv.env.common.service.IEnvDeviceAtomizingService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 喷雾 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@Service
+public class EnvDeviceAtomizingServiceImpl extends ServiceImpl<EnvDeviceAtomizingMapper, EnvDeviceAtomizing> implements IEnvDeviceAtomizingService {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceChuchouServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.service.impl;
+
+import com.huimv.env.common.entity.EnvDeviceChuchou;
+import com.huimv.env.common.mapper.EnvDeviceChuchouMapper;
+import com.huimv.env.common.service.IEnvDeviceChuchouService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 照明灯 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-11-04
+ */
+@Service
+public class EnvDeviceChuchouServiceImpl extends ServiceImpl<EnvDeviceChuchouMapper, EnvDeviceChuchou> implements IEnvDeviceChuchouService {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceDeflectorServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.service.impl;
+
+import com.huimv.env.common.entity.EnvDeviceDeflector;
+import com.huimv.env.common.mapper.EnvDeviceDeflectorMapper;
+import com.huimv.env.common.service.IEnvDeviceDeflectorService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 导流板 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@Service
+public class EnvDeviceDeflectorServiceImpl extends ServiceImpl<EnvDeviceDeflectorMapper, EnvDeviceDeflector> implements IEnvDeviceDeflectorService {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceFloodlightServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.service.impl;
+
+import com.huimv.env.common.entity.EnvDeviceFloodlight;
+import com.huimv.env.common.mapper.EnvDeviceFloodlightMapper;
+import com.huimv.env.common.service.IEnvDeviceFloodlightService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 照明灯 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@Service
+public class EnvDeviceFloodlightServiceImpl extends ServiceImpl<EnvDeviceFloodlightMapper, EnvDeviceFloodlight> implements IEnvDeviceFloodlightService {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceHeaterServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.service.impl;
+
+import com.huimv.env.common.entity.EnvDeviceHeater;
+import com.huimv.env.common.mapper.EnvDeviceHeaterMapper;
+import com.huimv.env.common.service.IEnvDeviceHeaterService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 加热器 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@Service
+public class EnvDeviceHeaterServiceImpl extends ServiceImpl<EnvDeviceHeaterMapper, EnvDeviceHeater> implements IEnvDeviceHeaterService {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceLiaotaServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.service.impl;
+
+import com.huimv.env.common.entity.EnvDeviceLiaota;
+import com.huimv.env.common.mapper.EnvDeviceLiaotaMapper;
+import com.huimv.env.common.service.IEnvDeviceLiaotaService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 照明灯 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-11-04
+ */
+@Service
+public class EnvDeviceLiaotaServiceImpl extends ServiceImpl<EnvDeviceLiaotaMapper, EnvDeviceLiaota> implements IEnvDeviceLiaotaService {
+
+}

+ 20 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDevicePadServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.env.common.service.impl;
+
+import com.huimv.env.common.entity.EnvDevicePad;
+import com.huimv.env.common.mapper.EnvDevicePadMapper;
+import com.huimv.env.common.service.IEnvDevicePadService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 湿帘 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2023-07-12
+ */
+@Service
+public class EnvDevicePadServiceImpl extends ServiceImpl<EnvDevicePadMapper, EnvDevicePad> implements IEnvDevicePadService {
+
+}

+ 1 - 1
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceRecentlyDataServiceImpl.java

@@ -30,7 +30,7 @@ public class EnvDeviceRecentlyDataServiceImpl extends ServiceImpl<EnvDeviceRecen
     public void updateByChipId(Date uploadDate, EnvDeviceRecentlyData envDeviceRecentlyData, BigDecimal tempValues,Integer type) {
         envDeviceRecentlyData.setUpdateTime(uploadDate);
         if (tempValues !=null){
-            envDeviceRecentlyData.setChipValue(tempValues);
+            envDeviceRecentlyData.setChipValue(tempValues.toString());
         }
         envDeviceRecentlyData.setChipStatus(type);
         this.updateById(envDeviceRecentlyData);

+ 5 - 1
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvDeviceServiceImpl.java

@@ -1,14 +1,19 @@
 package com.huimv.env.common.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.huimv.env.common.entity.EnvDevice;
+import com.huimv.env.common.entity.EnvHumi;
+import com.huimv.env.common.entity.EnvTemp;
 import com.huimv.env.common.mapper.EnvDeviceMapper;
 import com.huimv.env.common.service.IEnvDeviceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
+
 /**
  * <p>
  *  服务实现类
@@ -27,7 +32,6 @@ public class EnvDeviceServiceImpl extends ServiceImpl<EnvDeviceMapper, EnvDevice
         try {
             QueryWrapper<EnvDevice> deviceCode = new QueryWrapper<EnvDevice>().eq("device_code", idCode);
             System.out.println(idCode);
-            System.out.println(deviceCode);
             if (  envDeviceMapper.exists(deviceCode)){
                 return envDeviceMapper.selectOne(deviceCode).getDeviceSortCode();
             }

+ 34 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvElectricityServiceImpl.java

@@ -1,11 +1,18 @@
 package com.huimv.env.common.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.env.common.entity.EnvDevice;
 import com.huimv.env.common.entity.EnvElectricity;
+import com.huimv.env.common.entity.EnvWater;
 import com.huimv.env.common.mapper.EnvElectricityMapper;
 import com.huimv.env.common.service.IEnvElectricityService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +24,31 @@ import org.springframework.stereotype.Service;
 @Service
 public class EnvElectricityServiceImpl extends ServiceImpl<EnvElectricityMapper, EnvElectricity> implements IEnvElectricityService {
 
+    @Override
+    public void saveDianBiao(String chipId, EnvDevice envDevice, Date uploadDate, BigDecimal humiValueHandle, BigDecimal humiValue) {
+        EnvElectricity one = this.getOne(new QueryWrapper<EnvElectricity>().eq("chip_code", chipId).orderByDesc("id").last("limit 1"));
+        BigDecimal lastBigDecimal = new BigDecimal(0);
+        if (ObjectUtil.isNotEmpty(one)){
+            lastBigDecimal =  one.getOriginalValue();
+        }
+
+        EnvElectricity envWater = new EnvElectricity();
+        envWater.setAskTime(uploadDate);
+        envWater.setChipCode(chipId);
+        envWater.setDeviceCode(envDevice.getDeviceSortCode());
+        envWater.setFarmId(envDevice.getFarmId());
+        BigDecimal subtract = humiValue.subtract(lastBigDecimal);
+        BigDecimal bigDecimal = new BigDecimal(0);
+        if (subtract.compareTo( bigDecimal)==0){
+            envWater.setHandleValue(bigDecimal);
+        }if (subtract.compareTo(bigDecimal)<0){
+            envWater.setHandleValue(humiValue.divide(new BigDecimal(10),1,BigDecimal.ROUND_HALF_UP));
+        }  else{
+            envWater.setHandleValue(subtract.divide(new BigDecimal(10),1,BigDecimal.ROUND_HALF_UP));
+        }
+        envWater.setOriginalValue(humiValue);
+        envWater.setUnitId(envDevice.getUnitId()+"");
+        envWater.setUpdateTime(new Date());
+        this.save(envWater);
+    }
 }

+ 2 - 2
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvFengPeizhiServiceImpl.java

@@ -30,11 +30,11 @@ public class EnvFengPeizhiServiceImpl extends ServiceImpl<EnvFengPeizhiMapper, E
 
     @Override
     public String getFengPeiZhi(String[] dataArray) {
-        EnvDevice envDevice = envDeviceService.getOne(new QueryWrapper<EnvDevice>().eq("device_sort_code", dataArray[2]));
+        EnvDevice envDevice = envDeviceService.getOne(new QueryWrapper<EnvDevice>().eq("device_sort_code", dataArray[1]));
         if (ObjectUtil.isNotEmpty(envDevice) && (ObjectUtil.isNotEmpty(envDevice.getDisposeTime()))){
             Date disposeTime = envDevice.getDisposeTime();
             String order = dataArray[3];
-            EnvFengPeizhi one = this.getOne(new QueryWrapper<EnvFengPeizhi>().eq("time_dayage", disposeTime).eq("level_dayage", order));
+            EnvFengPeizhi one = this.getOne(new QueryWrapper<EnvFengPeizhi>().eq("time_feng", disposeTime).eq("level_feng", order));
             if (ObjectUtil.isNotEmpty(one)){
                 return one.getOriginalValue();
             }

+ 12 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvHumiServiceImpl.java

@@ -1,10 +1,14 @@
 package com.huimv.env.common.service.impl;
 
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.env.common.entity.EnvDevice;
 import com.huimv.env.common.entity.EnvHumi;
 import com.huimv.env.common.mapper.EnvHumiMapper;
+import com.huimv.env.common.mapper.EnvTempMapper;
 import com.huimv.env.common.service.IEnvHumiService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -21,6 +25,8 @@ import java.util.Date;
 @Service
 public class EnvHumiServiceImpl extends ServiceImpl<EnvHumiMapper, EnvHumi> implements IEnvHumiService {
 
+    @Autowired
+    private EnvHumiMapper envHumiMapper;
     @Override
     public void saveHumi(String chipId, EnvDevice envDevice, Date uploadDate, BigDecimal humiValueHandle, BigDecimal humiValue) {
         EnvHumi envHumi = new EnvHumi();
@@ -34,4 +40,10 @@ public class EnvHumiServiceImpl extends ServiceImpl<EnvHumiMapper, EnvHumi> impl
         envHumi.setUpdateTime(new Date());
         this.save(envHumi);
     }
+
+    @Override
+    public boolean exitHumi(String chipId, Date uploadDate) {
+        return envHumiMapper.selectCount(new QueryWrapper<EnvHumi>().eq("chip_code", chipId).ge("ask_time", DateUtil.offsetMinute(new Date(), -4))) > 0;
+    }
+
 }

+ 27 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvPressureServiceImpl.java

@@ -1,11 +1,19 @@
 package com.huimv.env.common.service.impl;
 
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.env.common.entity.EnvCo2;
+import com.huimv.env.common.entity.EnvDevice;
 import com.huimv.env.common.entity.EnvPressure;
 import com.huimv.env.common.mapper.EnvPressureMapper;
 import com.huimv.env.common.service.IEnvPressureService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +24,24 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class EnvPressureServiceImpl extends ServiceImpl<EnvPressureMapper, EnvPressure> implements IEnvPressureService {
+    @Autowired
+    private EnvPressureMapper envPressureMapper;
+    @Override
+    public void savePressure(String chipId, EnvDevice envDevice, Date uploadDate, BigDecimal humiValueHandle, BigDecimal humiValue) {
+        EnvPressure envHumi = new EnvPressure();
+        envHumi.setAskTime(uploadDate);
+        envHumi.setChipCode(chipId);
+        envHumi.setDeviceCode(envDevice.getDeviceSortCode());
+        envHumi.setFarmId(envDevice.getFarmId());
+        envHumi.setHandleValue(humiValueHandle.toString());
+        envHumi.setOriginalValue(humiValue.toString());
+        envHumi.setUnitId(envDevice.getUnitId()+"");
+        envHumi.setUpdateTime(new Date());
+        this.save(envHumi);
+    }
 
+    @Override
+    public boolean exitPressure(String chipId, Date uploadDate) {
+        return envPressureMapper.selectCount(new QueryWrapper<EnvPressure>().eq("chip_code", chipId).ge("ask_time", DateUtil.offsetMinute(new Date(), -4))) > 0;
+    }
 }

+ 14 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvTempServiceImpl.java

@@ -1,11 +1,15 @@
 package com.huimv.env.common.service.impl;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.env.common.entity.EnvDevice;
 import com.huimv.env.common.entity.EnvDeviceRecentlyData;
 import com.huimv.env.common.entity.EnvTemp;
 import com.huimv.env.common.mapper.EnvTempMapper;
 import com.huimv.env.common.service.IEnvTempService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -22,6 +26,10 @@ import java.util.Date;
 @Service
 public class EnvTempServiceImpl extends ServiceImpl<EnvTempMapper, EnvTemp> implements IEnvTempService {
 
+
+    @Autowired
+    private EnvTempMapper envTempMapper;
+
     @Override
     public void saveTemp(String chipId, EnvDevice envDevice, Date uploadDate, BigDecimal tempValue, BigDecimal originalTempValue) {
         EnvTemp envTemp = new EnvTemp();
@@ -36,4 +44,10 @@ public class EnvTempServiceImpl extends ServiceImpl<EnvTempMapper, EnvTemp> impl
 
         this.save(envTemp);
     }
+
+    @Override
+    public boolean exitTemp(String chipId, Date uploadDate) {
+       return envTempMapper.selectCount(new QueryWrapper<EnvTemp>().eq("chip_code", chipId).ge("ask_time", DateUtil.offsetMinute(new Date(), -4))) > 0;
+    }
+
 }

+ 34 - 4
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvWarningServiceImpl.java

@@ -2,6 +2,7 @@ package com.huimv.env.common.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.huimv.env.common.config.WeChatMessage;
 import com.huimv.env.common.entity.EnvDevice;
 import com.huimv.env.common.entity.EnvDeviceRecentlyData;
@@ -39,14 +40,19 @@ public class EnvWarningServiceImpl extends ServiceImpl<EnvWarningMapper, EnvWarn
     private EnvDeviceMapper envDeviceMapper;
 
     @Override
-    public void saveWarning(Date date, EnvDeviceRecentlyData envDeviceRecentlyData, EnvDevice envDevice, String chipId) {
+    public void saveWarning(Date date, EnvDeviceRecentlyData envDeviceRecentlyData, EnvDevice envDevice, String chipId,String content) {
         EnvWarning envWarning = new EnvWarning();
         envWarning.setChipCode(chipId);
         envWarning.setDeviceCode(envDeviceRecentlyData.getDeviceCode());
         envWarning.setFarmId(envDeviceRecentlyData.getFarmId());
         envWarning.setUnitId(envDevice.getUnitId());
         envWarning.setUpdateTime(date);
-        envWarning.setWarningContent(envDeviceRecentlyData.getChipName()+"传感器异常");
+        if (null != content){
+            envWarning.setWarningContent(content);
+        }else {
+            envWarning.setWarningContent(envDeviceRecentlyData.getChipName()+"传感器异常");
+        }
+
         envWarning.setWarningType(8);
         envWarning.setWarningAct(1);
         EnvDevice device = envDeviceMapper.selectOne(new QueryWrapper<EnvDevice>().eq("device_sort_code", envDevice.getDeviceSortCode()));
@@ -67,10 +73,19 @@ public class EnvWarningServiceImpl extends ServiceImpl<EnvWarningMapper, EnvWarn
         envWarning.setFarmId(envDevice.getFarmId());
         envWarning.setUnitId(envDevice.getUnitId());
         envWarning.setUpdateTime(uploadDate);
-        envWarning.setWarningContent(getWarning(ordeNumber,actType));
+        String warning = getWarning(ordeNumber, actType);
+        if(warning.length()<4){
+            log.error("报警类型未集成");
+            return;
+        }
+        envWarning.setWarningContent(warning);
         envWarning.setWarningType(Integer.parseInt(ordeNumber));
         envWarning.setWarningAct(Integer.parseInt(actType));
         EnvDevice device = envDeviceMapper.selectOne(new QueryWrapper<EnvDevice>().eq("device_sort_code", envDevice.getDeviceSortCode()));
+        if ("1".equals(ordeNumber)){
+            device.setDeviceStatus("1".equals(actType) ? 2 : 1) ;
+            envDeviceMapper.updateById(device);
+        }
         List<SysAccountMultilevel> userList = sysAccountMultilevelMapper.selectList(new QueryWrapper<SysAccountMultilevel>().eq("last_farm_id", envDevice.getFarmId()));
         for (SysAccountMultilevel sysAccountMultilevel : userList) {
             sysAccountMultilevel.setSubscribe(0);
@@ -103,8 +118,23 @@ public class EnvWarningServiceImpl extends ServiceImpl<EnvWarningMapper, EnvWarn
             case "6":
                 str = "高气压报警";
                 break;
-            default:
+            case "7":
+                str = "低气压报警";
+                break;
+            case "8":
                 str = "高CO2报警";
+                break;
+            case "9":
+                str = "前后温差过大报警";
+                break;
+            case "10":
+                str = "左右温差过大报警";
+                break;
+            case "99":
+                str = "测试报警";
+                break;
+            default:
+                str = "";
         }
         if ("1".equals(actType)){
             return  "出现"+str;

+ 35 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvWaterServiceImpl.java

@@ -1,11 +1,18 @@
 package com.huimv.env.common.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.env.common.entity.EnvCo2;
+import com.huimv.env.common.entity.EnvDevice;
 import com.huimv.env.common.entity.EnvWater;
 import com.huimv.env.common.mapper.EnvWaterMapper;
 import com.huimv.env.common.service.IEnvWaterService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +24,32 @@ import org.springframework.stereotype.Service;
 @Service
 public class EnvWaterServiceImpl extends ServiceImpl<EnvWaterMapper, EnvWater> implements IEnvWaterService {
 
+    @Override
+    public void saveShuiBiao(String chipId, EnvDevice envDevice, Date uploadDate, BigDecimal humiValueHandle, BigDecimal humiValue) {
+        EnvWater one = this.getOne(new QueryWrapper<EnvWater>().eq("chip_code", chipId).orderByDesc("id").last("limit 1"));
+        BigDecimal lastBigDecimal = new BigDecimal(0);
+        if (ObjectUtil.isNotEmpty(one)){
+            lastBigDecimal =  one.getOriginalValue();
+        }
+
+        EnvWater envWater = new EnvWater();
+        envWater.setAskTime(uploadDate);
+        envWater.setChipCode(chipId);
+        envWater.setDeviceCode(envDevice.getDeviceSortCode());
+        envWater.setFarmId(envDevice.getFarmId());
+        BigDecimal subtract = humiValue.subtract(lastBigDecimal);
+        BigDecimal bigDecimal = new BigDecimal(0);
+        if (subtract.compareTo( bigDecimal)==0){
+            envWater.setHandleValue(bigDecimal);
+        }if (subtract.compareTo(bigDecimal)<0){
+            envWater.setHandleValue(humiValue.divide(new BigDecimal(10),1,BigDecimal.ROUND_HALF_UP));
+        } else {
+            envWater.setHandleValue(subtract.divide(new BigDecimal(10),1,BigDecimal.ROUND_HALF_UP));
+        }
+
+        envWater.setOriginalValue(humiValue);
+        envWater.setUnitId(envDevice.getUnitId()+"");
+        envWater.setUpdateTime(new Date());
+        this.save(envWater);
+    }
 }

+ 63 - 0
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/RawDataServiceImpl.java

@@ -0,0 +1,63 @@
+package com.huimv.env.common.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.env.common.entity.EnvDevice;
+import com.huimv.env.common.entity.EnvWarning;
+import com.huimv.env.common.entity.RawData;
+import com.huimv.env.common.mapper.RawDataMapper;
+import com.huimv.env.common.service.IEnvDeviceService;
+import com.huimv.env.common.service.IEnvWarningService;
+import com.huimv.env.common.service.IEnvWaterService;
+import com.huimv.env.common.service.IRawDataService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2023-08-31
+ */
+@Service
+public class RawDataServiceImpl extends ServiceImpl<RawDataMapper, RawData> implements IRawDataService {
+    @Autowired
+    private IEnvDeviceService envDeviceService;
+
+    @Autowired
+    private IEnvWarningService envWarningService;
+
+    @Override
+    public void insert(String idCode, String askText) {
+        EnvDevice byDeviceCode = envDeviceService.getByDeviceCode(idCode);
+        if (ObjectUtil.isEmpty(byDeviceCode)){
+            return;
+        }
+        Date date = new Date();
+
+        RawData rawData = new RawData();
+        rawData.setCreateTime(date);
+        rawData.setData(askText);
+        rawData.setDeviceCode(idCode);
+        this.save(rawData);
+        if (byDeviceCode.getDeviceStatus()== 0){
+            EnvWarning envWarning = new EnvWarning();
+            envWarning.setDeviceCode(idCode);
+            envWarning.setWarningContent(byDeviceCode.getDeviceName() +"断线已恢复");
+            envWarning.setUnitId(byDeviceCode.getUnitId());
+            envWarning.setUpdateTime(date);
+            envWarning.setWarningType(1);
+            envWarning.setWarningAct(2);
+            envWarning.setFarmId(byDeviceCode.getFarmId());
+            envWarningService.save(envWarning);
+        }
+        byDeviceCode.setDeviceStatus(1);
+        envDeviceService.updateById(byDeviceCode);
+
+    }
+}

+ 68 - 1
huimv-env-common/src/main/java/com/huimv/env/common/utils/Const.java

@@ -33,7 +33,7 @@ public class Const {
     //通风
     public final static String QUEUE_ENV_FENG = "topic.env.feng.queue";
     public final static String ROUTING_KEY_ENV_FENG = "topic.env.feng.key";
-    public final static String EXCHANGE_ENV_FENG = "topic.env.feng.exchange";
+    public final static String EXCHANGE_ENV_FENG = "topic.env.feng.exchange1";
 
     //舍外
     public final static String QUEUE_ENV_OUT_TEMP = "topic.env.out.temp.queue";
@@ -45,6 +45,11 @@ public class Const {
     public final static String ROUTING_KEY_ENV_IN_TEMP = "topic.env.in.temp.key";
     public final static String EXCHANGE_ENV_IN_TEMP = "topic.env.in.temp.exchange";
 
+    //舍内 平均温度
+    public final static String QUEUE_ENV_ANQI = "topic.env.anqi.queue";
+    public final static String ROUTING_KEY_ENV_ANQI = "topic.env.anqi.key";
+    public final static String EXCHANGE_ENV_ANQI = "topic.env.in.anqi.exchange";
+
     //报警
     public final static String QUEUE_ENV_WARNING = "topic.env.warning.queue";
     public final static String ROUTING_KEY_ENV_WARNING = "topic.env.warning.key";
@@ -65,6 +70,17 @@ public class Const {
     public final static String ROUTING_KEY_ENV_PENWU_STATUS = "topic.env.penwu.status.key";
     public final static String EXCHANGE_ENV_PENWU_STATUS = "topic.env.penwu.status.exchange";
 
+
+    //除臭状态
+    public final static String QUEUE_ENV_CHUCHOU_STATUS = "topic.env.chuchou.status.queue";
+    public final static String ROUTING_KEY_ENV_CHUCHOU_STATUS = "topic.env.chuchou.status.key";
+    public final static String EXCHANGE_ENV_CHUCHOU_STATUS = "topic.env.chuchou.status.exchange";
+
+    //料塔状态
+    public final static String QUEUE_ENV_LIAOTA_STATUS = "topic.env.liaota.status.queue";
+    public final static String ROUTING_KEY_ENV_LIAOTA_STATUS = "topic.env.liaota.status.key";
+    public final static String EXCHANGE_ENV_LIAOTA_STATUS = "topic.env.liaota.status.exchange";
+
     //日龄温度配置上传
     public final static String QUEUE_ENV_DAYAGE_PEIZHI = "topic.env.dayage.peizhi.queue";
     public final static String ROUTING_KEY_ENV_DAYAGE_PEIZHI = "topic.env.dayage.peizhi.key";
@@ -75,4 +91,55 @@ public class Const {
     public final static String ROUTING_KEY_ENV_FENG_PEIZHI = "topic.env.feng.peizhi.key";
     public final static String EXCHANGE_ENV_FENG_PEIZHI = "topic.env.feng.peizhi.exchange";
 
+    //co2
+    public final static String QUEUE_ENV_CO2_DATA = "topic.env.co2.data.queue";
+    public final static String ROUTING_KEY_ENV_CO2_DATA = "topic.env.co2.data.key";
+    public final static String EXCHANGE_ENV_CO2_DATA = "topic.env.co2.data.exchange";
+
+    //压力
+    public final static String QUEUE_ENV_YALI_DATA = "topic.env.yali.data.queue";
+    public final static String ROUTING_KEY_ENV_YALI_DATA = "topic.env.yali.data.key";
+    public final static String EXCHANGE_ENV_YALI_DATA = "topic.env.yali.data.exchange";
+
+    //水暖
+    public final static String QUEUE_ENV_SHUINUAN_DATA = "topic.env.shuinuan.data.queue";
+    public final static String ROUTING_KEY_ENV_SHUINUAN_DATA = "topic.env.shuinuan.data.key";
+    public final static String EXCHANGE_ENV_SHUINUAN_DATA = "topic.env.shuinuan.data.exchange";
+
+    //位置
+    public final static String QUEUE_ENV_WEIZHI_DATA = "topic.env.weizhi.data.queue";
+    public final static String ROUTING_KEY_ENV_WEIZHI_DATA = "topic.env.weizhi.data.key";
+    public final static String EXCHANGE_ENV_WEIZHI_DATA = "topic.env.weizhi.data.exchange";
+
+    //水表
+    public final static String QUEUE_ENV_SHUIBIAO_DATA = "topic.env.SHUIBIAO.data.queue";
+    public final static String ROUTING_KEY_ENV_SHUIBIAO_DATA = "topic.env.SHUIBIAO.data.key";
+    public final static String EXCHANGE_ENV_SHUIBIAO_DATA = "topic.env.SHUIBIAO.data.exchange";
+
+    //电表
+    public final static String QUEUE_ENV_DIANBIAO_DATA = "topic.env.dianbiao.data.queue";
+    public final static String ROUTING_KEY_ENV_DIANBIAO_DATA = "topic.env.dianbiao.data.key";
+    public final static String EXCHANGE_ENV_DIANBIAO_DATA = "topic.env.dianbiao.data.exchange";
+
+    //加热器
+    public final static String QUEUE_ENV_JIARE_STATUS = "topic.env.jiare.status.queue";
+    public final static String ROUTING_KEY_ENV_JIARE_STATUS = "topic.env.jiare.status.key";
+    public final static String EXCHANGE_ENV_JIARE_STATUS = "topic.env.jiare.status.exchange";
+
+    //小窗
+    public final static String QUEUE_ENV_XIAOCHUANG_STATUS = "topic.env.xiaochuang.status.queue";
+    public final static String ROUTING_KEY_ENV_XIAOCHUANG_STATUS = "topic.env.xiaochuang.status.key";
+    public final static String EXCHANGE_ENV_XIAOCHUANG_STATUS = "topic.env.xiaochuang.status.exchange";
+
+    //导流板
+    public final static String QUEUE_ENV_DAOLIU_STATUS = "topic.env.daoliu.status.queue";
+    public final static String ROUTING_KEY_ENV_DAOLIU_STATUS = "topic.env.daoliu.status.key";
+    public final static String EXCHANGE_ENV_DAOLIU_STATUS = "topic.env.daoliu.status.exchange";
+
+    //照明
+    public final static String QUEUE_ENV_ZHAOMING_STATUS = "topic.env.zhaoming.status.queue";
+    public final static String ROUTING_KEY_ENV_ZHAOMING_STATUS = "topic.env.zhaoming.status.key";
+    public final static String EXCHANGE_ENV_ZHAOMING_STATUS = "topic.env.zhaoming.status.exchange";
+
+
 }

+ 20 - 0
huimv-env-common/src/main/resources/mapper/EnvDeviceAtomizingMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.common.mapper.EnvDeviceAtomizingMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.common.entity.EnvDeviceAtomizing">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="chip_code" property="chipCode" />
+        <result column="update_time" property="updateTime" />
+        <result column="chip_name" property="chipName" />
+        <result column="chip_status" property="chipStatus" />
+        <result column="chip_value" property="chipValue" />
+        <result column="farm_id" property="farmId" />
+        <result column="other1" property="other1" />
+        <result column="ohter2" property="ohter2" />
+        <result column="other3" property="other3" />
+    </resultMap>
+
+</mapper>

+ 20 - 0
huimv-env-common/src/main/resources/mapper/EnvDeviceChuchouMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.common.mapper.EnvDeviceChuchouMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.common.entity.EnvDeviceChuchou">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="chip_code" property="chipCode" />
+        <result column="update_time" property="updateTime" />
+        <result column="chip_name" property="chipName" />
+        <result column="chip_status" property="chipStatus" />
+        <result column="chip_value" property="chipValue" />
+        <result column="farm_id" property="farmId" />
+        <result column="other1" property="other1" />
+        <result column="ohter2" property="ohter2" />
+        <result column="other3" property="other3" />
+    </resultMap>
+
+</mapper>

+ 20 - 0
huimv-env-common/src/main/resources/mapper/EnvDeviceDeflectorMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.common.mapper.EnvDeviceDeflectorMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.common.entity.EnvDeviceDeflector">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="chip_code" property="chipCode" />
+        <result column="update_time" property="updateTime" />
+        <result column="chip_name" property="chipName" />
+        <result column="chip_status" property="chipStatus" />
+        <result column="chip_value" property="chipValue" />
+        <result column="farm_id" property="farmId" />
+        <result column="other1" property="other1" />
+        <result column="ohter2" property="ohter2" />
+        <result column="other3" property="other3" />
+    </resultMap>
+
+</mapper>

+ 20 - 0
huimv-env-common/src/main/resources/mapper/EnvDeviceFloodlightMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.common.mapper.EnvDeviceFloodlightMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.common.entity.EnvDeviceFloodlight">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="chip_code" property="chipCode" />
+        <result column="update_time" property="updateTime" />
+        <result column="chip_name" property="chipName" />
+        <result column="chip_status" property="chipStatus" />
+        <result column="chip_value" property="chipValue" />
+        <result column="farm_id" property="farmId" />
+        <result column="other1" property="other1" />
+        <result column="ohter2" property="ohter2" />
+        <result column="other3" property="other3" />
+    </resultMap>
+
+</mapper>

+ 20 - 0
huimv-env-common/src/main/resources/mapper/EnvDeviceHeaterMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.common.mapper.EnvDeviceHeaterMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.common.entity.EnvDeviceHeater">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="chip_code" property="chipCode" />
+        <result column="update_time" property="updateTime" />
+        <result column="chip_name" property="chipName" />
+        <result column="chip_status" property="chipStatus" />
+        <result column="chip_value" property="chipValue" />
+        <result column="farm_id" property="farmId" />
+        <result column="other1" property="other1" />
+        <result column="ohter2" property="ohter2" />
+        <result column="other3" property="other3" />
+    </resultMap>
+
+</mapper>

+ 20 - 0
huimv-env-common/src/main/resources/mapper/EnvDeviceLiaotaMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.common.mapper.EnvDeviceLiaotaMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.common.entity.EnvDeviceLiaota">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="chip_code" property="chipCode" />
+        <result column="update_time" property="updateTime" />
+        <result column="chip_name" property="chipName" />
+        <result column="chip_status" property="chipStatus" />
+        <result column="chip_value" property="chipValue" />
+        <result column="farm_id" property="farmId" />
+        <result column="other1" property="other1" />
+        <result column="ohter2" property="ohter2" />
+        <result column="other3" property="other3" />
+    </resultMap>
+
+</mapper>

+ 20 - 0
huimv-env-common/src/main/resources/mapper/EnvDevicePadMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.common.mapper.EnvDevicePadMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.common.entity.EnvDevicePad">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="chip_code" property="chipCode" />
+        <result column="update_time" property="updateTime" />
+        <result column="chip_name" property="chipName" />
+        <result column="chip_status" property="chipStatus" />
+        <result column="chip_value" property="chipValue" />
+        <result column="farm_id" property="farmId" />
+        <result column="other1" property="other1" />
+        <result column="ohter2" property="ohter2" />
+        <result column="other3" property="other3" />
+    </resultMap>
+
+</mapper>

+ 13 - 0
huimv-env-common/src/main/resources/mapper/RawDataMapper.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.common.mapper.RawDataMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.common.entity.RawData">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="data" property="data" />
+        <result column="create_time" property="createTime" />
+    </resultMap>
+
+</mapper>

+ 169 - 0
huimv-env-device/src/main/java/com/huimv/env/device/listener/DeviceListener.java

@@ -20,6 +20,34 @@ public class DeviceListener {
     @Autowired
     private MathUtil2 mathUtil;
 
+
+    @RabbitListener(queues = Const.QUEUE_ENV_CO2_DATA)
+    @RabbitHandler
+    public void processEnvCO2(Map RawMap)   {
+        System.out.println(">>>>>>>>>>>>>> 11 接收CO2数据 RawMap>>" + RawMap.toString());
+        try {
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveCO2(dataArray);
+        }catch (Exception e){
+            System.out.println("co2异常"+e);
+        }
+    }
+
+    @RabbitListener(queues = Const.QUEUE_ENV_YALI_DATA)
+    @RabbitHandler
+    public void processEnvYali(Map RawMap)   {
+        System.out.println(">>>>>>>>>>>>>> 11 接收压力数据 RawMap>>" + RawMap.toString());
+        try {
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveYaLI(dataArray);
+        }catch (Exception e){
+            System.out.println("压力异常"+e);
+        }
+    }
+
+
     @RabbitListener(queues = Const.QUEUE_ENV_TEMP)
     @RabbitHandler
     public void processEnvTemp(Map RawMap)   {
@@ -186,4 +214,145 @@ public class DeviceListener {
             System.out.println("接收风机配置异常"+e);
         }
     }
+
+    @RabbitListener(queues = Const.QUEUE_ENV_SHUINUAN_DATA)
+    @RabbitHandler
+    public void processShuiNuanData(Map RawMap)   {
+        try {
+            System.out.println(">>>>>>>>>>>>>> 8 接收水暖配置数据 RawMap>>" + RawMap.toString());
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveShuiNuan(dataArray);
+        }catch (Exception e){
+            System.out.println("接收水暖配置数据异常"+e);
+        }
+    }
+
+    @RabbitListener(queues = Const.QUEUE_ENV_WEIZHI_DATA)
+    @RabbitHandler
+    public void processWeiZhiData(Map RawMap)   {
+        try {
+            System.out.println(">>>>>>>>>>>>>> 9 接收位置数据 RawMap>>" + RawMap.toString());
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveWeiZhi(dataArray);
+        }catch (Exception e){
+            System.out.println("接收水暖配置数据异常"+e);
+        }
+    }
+
+    @RabbitListener(queues = Const.QUEUE_ENV_SHUIBIAO_DATA)
+    @RabbitHandler
+    public void processShuiBiaoData(Map RawMap)   {
+        try {
+            System.out.println(">>>>>>>>>>>>>> 31 接收水表数据 RawMap>>" + RawMap.toString());
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveShuiBiao(dataArray);
+        }catch (Exception e){
+            System.out.println("接收水表数据数据异常"+e);
+        }
+    }
+
+    @RabbitListener(queues = Const.QUEUE_ENV_DIANBIAO_DATA)
+    @RabbitHandler
+    public void processDianBiaoData(Map RawMap)   {
+        try {
+            System.out.println(">>>>>>>>>>>>>> 32 接收电表数据 RawMap>>" + RawMap.toString());
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveDianBiao(dataArray);
+        }catch (Exception e){
+            System.out.println("接收电表数据数据异常"+e);
+        }
+    }
+    @RabbitListener(queues = Const.QUEUE_ENV_JIARE_STATUS)
+    @RabbitHandler
+    public void processJiaReStatus(Map RawMap)   {
+        try {
+            System.out.println(">>>>>>>>>>>>>> 64 接收加热器状态数据 RawMap>>" + RawMap.toString());
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveJiaReStatus(dataArray);
+        }catch (Exception e){
+            System.out.println("接收加热器状态异常"+e);
+        }
+    }
+    @RabbitListener(queues = Const.QUEUE_ENV_XIAOCHUANG_STATUS)
+    @RabbitHandler
+    public void processXiaoChuangStatus(Map RawMap)   {
+        try {
+            System.out.println(">>>>>>>>>>>>>> 65 接收小窗状态数据 RawMap>>" + RawMap.toString());
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveXiaoChuangStatus(dataArray);
+        }catch (Exception e){
+            System.out.println("接收小窗状态异常"+e);
+        }
+    }
+    @RabbitListener(queues = Const.QUEUE_ENV_DAOLIU_STATUS)
+    @RabbitHandler
+    public void processDaoLiuStatus(Map RawMap)   {
+        try {
+            System.out.println(">>>>>>>>>>>>>> 66 接收导流板状态 RawMap>>" + RawMap.toString());
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveDaoLiuStatus(dataArray);
+        }catch (Exception e){
+            System.out.println("接收导流板状态异常"+e);
+        }
+    }
+    @RabbitListener(queues = Const.QUEUE_ENV_ZHAOMING_STATUS)
+    @RabbitHandler
+    public void processZhaoMingStatus(Map RawMap)   {
+        try {
+            System.out.println(">>>>>>>>>>>>>> 67 接收照明数据 RawMap>>" + RawMap.toString());
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveZhaoMingStatus(dataArray);
+        }catch (Exception e){
+            System.out.println("接收照明数据异常"+e);
+        }
+    }
+
+    @RabbitListener(queues = Const.QUEUE_ENV_CHUCHOU_STATUS)
+    @RabbitHandler
+    public void processChuChouStatus(Map RawMap)   {
+        try {
+            System.out.println(">>>>>>>>>>>>>> 68 接收除臭数据 RawMap>>" + RawMap.toString());
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveChuChouStatus(dataArray);
+        }catch (Exception e){
+            System.out.println("接收除臭数据异常"+e);
+        }
+    }
+
+    @RabbitListener(queues = Const.QUEUE_ENV_LIAOTA_STATUS)
+    @RabbitHandler
+    public void processLiaoTaStatus(Map RawMap)   {
+        try {
+            System.out.println(">>>>>>>>>>>>>> 69 接收料塔数据 RawMap>>" + RawMap.toString());
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveLiaoTaStatus(dataArray);
+        }catch (Exception e){
+            System.out.println("接收料塔数据异常"+e);
+        }
+    }
+
+    @RabbitListener(queues = Const.QUEUE_ENV_ANQI)
+    @RabbitHandler
+    public void processanqiStatus(Map RawMap)   {
+        try {
+            System.out.println(">>>>>>>>>>>>>> 69 接收氨气数据 RawMap>>" + RawMap.toString());
+            String askText = RawMap.get("askText").toString();
+            String[] dataArray = askText.split("\\+");
+            deviceService.saveAnqiStatus(dataArray);
+        }catch (Exception e){
+            System.out.println("接收料塔数据异常"+e);
+        }
+    }
+
+
 }

+ 26 - 0
huimv-env-device/src/main/java/com/huimv/env/device/service/IDeviceService.java

@@ -28,4 +28,30 @@ public interface IDeviceService {
     void saveDayAgePeiZhi(String[] dataArray);
 
     void saveFengPeiZhi(String[] dataArray);
+
+    void saveCO2(String[] dataArray);
+
+    void saveYaLI(String[] dataArray);
+
+    void saveShuiNuan(String[] dataArray);
+
+    void saveWeiZhi(String[] dataArray);
+
+    void saveShuiBiao(String[] dataArray);
+
+    void saveDianBiao(String[] dataArray);
+
+    void saveJiaReStatus(String[] dataArray);
+
+    void saveXiaoChuangStatus(String[] dataArray);
+
+    void saveDaoLiuStatus(String[] dataArray);
+
+    void saveZhaoMingStatus(String[] dataArray);
+
+    void saveChuChouStatus(String[] dataArray);
+
+    void saveLiaoTaStatus(String[] dataArray);
+
+    void saveAnqiStatus(String[] dataArray);
 }

+ 682 - 60
huimv-env-device/src/main/java/com/huimv/env/device/service/impl/DeviceServiceImpl.java

@@ -10,7 +10,9 @@ import com.huimv.env.common.entity.*;
 import com.huimv.env.common.service.*;
 import com.huimv.env.device.service.IDeviceService;
 import lombok.extern.slf4j.Slf4j;
+import org.aspectj.weaver.ast.Var;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.couchbase.CouchbaseProperties;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -29,6 +31,9 @@ public class DeviceServiceImpl implements IDeviceService {
     private IEnvWarningService warningService;
 
     @Autowired
+    private IEnvAmmoniaService iEnvAmmoniaService;
+
+    @Autowired
     private IEnvDeviceService envDeviceService;
 
     @Autowired
@@ -39,12 +44,48 @@ public class DeviceServiceImpl implements IDeviceService {
     @Autowired
     private IEnvDeviceFanService envDeviceFanService;
     @Autowired
-    private IEnvDeviceOtherService envDeviceOtherService;
-    @Autowired
     private IEnvDayagePeizhiService envDayagePeizhiService;
     @Autowired
     private IEnvFengPeizhiService envFengPeizhiService;
 
+    @Autowired
+    private IEnvCo2Service envCo2Service;
+
+    @Autowired
+    private IEnvPressureService pressureService;
+
+    @Autowired
+    private IEnvWaterService envWaterService;
+
+    @Autowired
+    private IEnvElectricityService envElectricityService;
+
+    @Autowired
+    private IEnvDeviceHeaterService heaterService;
+
+    @Autowired
+    private IEnvDeviceFenestruleService fenestruleService;
+
+    @Autowired
+    private IEnvDeviceDeflectorService deviceDeflectorService;
+    @Autowired
+    private IEnvDeviceFloodlightService floodlightService;
+
+    @Autowired
+    private IEnvDevicePadService envDevicePadService;
+
+    @Autowired
+    private IEnvDeviceAtomizingService atomizingService;
+
+    @Autowired
+    private IEnvDeviceChuchouService chuchouService;
+
+    @Autowired
+    private IEnvDeviceLiaotaService liaotaService;
+
+
+
+    private static   BigDecimal BIG_10 = new BigDecimal(10);
     @Override
     @Transactional
     public void saveTemp(String[] dataArray) {
@@ -53,26 +94,67 @@ public class DeviceServiceImpl implements IDeviceService {
         String originalTempValue = dataArray[4];
         String status = dataArray[5];
         String time = dataArray[6];
+        if (ordeNumber != null && ordeNumber.length() == 1){
+            ordeNumber ="0"+ordeNumber;
+        }
         String chipId = getChipId(deviceCode,4,ordeNumber);
         Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+
+        if(tempService.exitTemp(chipId,uploadDate))
+          return;
+
+
         EnvDeviceRecentlyData envDeviceRecentlyData =  envDeviceRecentlyDataService.getbyChipId(chipId);
         EnvDevice envDevice =  envDeviceService.getByDeviceCode(deviceCode);
-        //判断传感器 故障
-        if ("1".equals(status) || "0".equals(originalTempValue) ){
-            log.info("传感器异常,未加入流水");
-            warningService.saveWarning(uploadDate,envDeviceRecentlyData,envDevice,chipId);
-            envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,null,2);
-            return;
-        }
 
         BigDecimal tempValue = new BigDecimal(originalTempValue);
         BigDecimal  tempValueHandle = new BigDecimal(0);
         if (tempValue.intValue() != 0){
-            tempValueHandle = tempValue.divide(new BigDecimal(10),1,BigDecimal.ROUND_HALF_UP);
+            tempValueHandle = tempValue.divide(BIG_10,1,BigDecimal.ROUND_HALF_UP);
         }
 
         //更新实时表
-        envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,tempValueHandle,1);
+        int oudernum = Integer.parseInt(ordeNumber);
+        if (oudernum >6 && oudernum<9){
+            if ("1".equals(status)){
+                envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,tempValueHandle,2);
+            }else {
+                envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,tempValueHandle,1);
+            }
+        }
+
+        EnvWarning one = warningService.getOne(new QueryWrapper<EnvWarning>().eq("chip_code", chipId).orderByDesc("update_time").last("limit 1"));
+
+        //判断传感器 故障  状态为1或者值为0  ,并且上次无报警或报警恢复
+        if  (("1".equals(status) || "0".equals(originalTempValue)) && (ObjectUtil.isEmpty(one) || 2 ==one.getWarningAct() ) ){
+            log.info("传感器异常,未加入流水");
+            EnvWarning envWarning = new EnvWarning();
+            envWarning.setUnitId(envDevice.getUnitId());
+            envWarning.setWarningAct(1);
+            envWarning.setWarningType(8);
+            envWarning.setWarningContent("温度"+ordeNumber+"传感器异常");
+            envWarning.setFarmId(envDevice.getFarmId());
+            envWarning.setDeviceCode(envDevice.getDeviceCode());
+            envWarning.setChipCode(chipId);
+            envWarning.setUpdateTime(uploadDate);
+            warningService.save(envWarning);
+            return;
+        }
+
+        //判断传感器  恢复
+        if  ("0".equals(status) && ObjectUtil.isNotEmpty(one) && 1 ==one.getWarningAct() ){
+            EnvWarning envWarning = new EnvWarning();
+            envWarning.setUnitId(envDevice.getUnitId());
+            envWarning.setWarningAct(2);
+            envWarning.setWarningType(8);
+            envWarning.setWarningContent("温度"+ordeNumber+"传感器恢复");
+            envWarning.setFarmId(envDevice.getFarmId());
+            envWarning.setDeviceCode(deviceCode);
+            envWarning.setUpdateTime(uploadDate);
+            envWarning.setChipCode(chipId);
+            warningService.save(envWarning);
+        }
+
         //更新流水表
         tempService.saveTemp(chipId,envDevice,uploadDate,tempValueHandle,tempValue);
     }
@@ -88,23 +170,64 @@ public class DeviceServiceImpl implements IDeviceService {
         BigDecimal humiValue = new BigDecimal(originalHumiValue);
         BigDecimal  humiValueHandle = new BigDecimal(0);
         if (humiValue.intValue() != 0 ){
-            humiValueHandle = humiValue.divide(new BigDecimal(10),1,BigDecimal.ROUND_HALF_UP);
+            humiValueHandle = humiValue.divide(BIG_10,1,BigDecimal.ROUND_HALF_UP);
         }
         Integer order = (Integer.parseInt(ordeNumber) + 11);
         String chipId = deviceCode + "14"+order;
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+        if(envHumiService.exitHumi(chipId,uploadDate))
+            return;
+
+
         EnvDevice envDevice =  envDeviceService.getByDeviceCode(deviceCode);
         EnvDeviceRecentlyData envDeviceRecentlyData =  envDeviceRecentlyDataService.getbyChipId(chipId);
-        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
 
-        //判断传感器 故障
-        if ("1".equals(status)|| "0".equals(originalHumiValue)){
+
+        EnvWarning one = warningService.getOne(new QueryWrapper<EnvWarning>().eq("chip_code", chipId).orderByDesc("update_time").last("limit 1"));
+
+        //判断传感器 故障  状态为1或者值为0  ,并且上次无报警或报警恢复
+        if  ("1".equals(status) && (ObjectUtil.isEmpty(one) || 2 ==one.getWarningAct() ) ){
             log.info("传感器异常,未加入流水");
-            warningService.saveWarning(uploadDate,envDeviceRecentlyData,envDevice,chipId);
-            envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,null,2);
+            EnvWarning envWarning = new EnvWarning();
+            envWarning.setUnitId(envDevice.getUnitId());
+            envWarning.setWarningAct(1);
+            envWarning.setWarningType(8);
+            envWarning.setWarningContent(envDeviceRecentlyData.getChipName()+"传感器异常");
+            envWarning.setFarmId(envDevice.getFarmId());
+            envWarning.setDeviceCode(envDevice.getDeviceCode());
+            envWarning.setChipCode(chipId);
+            envWarning.setUpdateTime(uploadDate);
+            warningService.save(envWarning);
+            envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,humiValueHandle,2);
             return;
         }
-        //更新实时表
-        envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,humiValueHandle,1);
+
+        //判断传感器  恢复
+        if  ("0".equals(status) && ObjectUtil.isNotEmpty(one) && 1 ==one.getWarningAct() ){
+            EnvWarning envWarning = new EnvWarning();
+            envWarning.setUnitId(envDevice.getUnitId());
+            envWarning.setWarningAct(2);
+            envWarning.setWarningType(8);
+            envWarning.setWarningContent(envDeviceRecentlyData.getChipName()+"传感器恢复");
+            envWarning.setFarmId(envDevice.getFarmId());
+            envWarning.setDeviceCode(deviceCode);
+            envWarning.setUpdateTime(uploadDate);
+            envWarning.setChipCode(chipId);
+            warningService.save(envWarning);
+            envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,humiValueHandle,1);
+        }
+
+
+//        //判断传感器 故障
+//        if  ("1".equals(status)|| "0".equals(originalHumiValue)){
+//            if (envDeviceRecentlyData.getChipStatus() !=1  ){
+//                System.out.println("异常未恢复,未重新添加");
+//                return;
+//            }
+//            log.info("传感器异常,未加入流水");
+//            warningService.saveWarning(uploadDate,envDeviceRecentlyData,envDevice,chipId,null);
+//            return;
+//        }
         //新增流水表
         envHumiService.saveHumi(chipId,envDevice,uploadDate,humiValueHandle,humiValue);
     }
@@ -115,7 +238,7 @@ public class DeviceServiceImpl implements IDeviceService {
         String deviceCode = dataArray[1];
         String dayAge = dataArray[3];
         EnvDevice envDevice =  envDeviceService.getByDeviceCode(deviceCode);
-        envDevice.setDayAge(Integer.parseInt(dayAge));
+        envDevice.setDayAge(new BigDecimal(dayAge).divide(BIG_10,1,BigDecimal.ROUND_HALF_UP).toString());
         envDeviceService.updateById(envDevice);
     }
 
@@ -141,12 +264,16 @@ public class DeviceServiceImpl implements IDeviceService {
         BigDecimal tempValue = new BigDecimal(originalTempValue);
         BigDecimal  tempValueHandle = new BigDecimal(0);
         if (tempValue.intValue() != 0){
-            tempValueHandle = tempValue.divide(new BigDecimal(10),2,BigDecimal.ROUND_HALF_UP);
+            tempValueHandle = tempValue.divide(BIG_10,2,BigDecimal.ROUND_HALF_UP);
         }
-        String chipId = deviceCode+"149";
+        String chipId = deviceCode+"1409";
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+        if(tempService.exitTemp(chipId,uploadDate))
+            return;
+
         EnvDevice envDevice =  envDeviceService.getByDeviceCode(deviceCode);
         EnvDeviceRecentlyData envDeviceRecentlyData =  envDeviceRecentlyDataService.getbyChipId(chipId);
-        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+
         //更新实时表
         envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,tempValueHandle,1);
         //更新流水表
@@ -162,12 +289,14 @@ public class DeviceServiceImpl implements IDeviceService {
         BigDecimal tempValue = new BigDecimal(originalTempValue);
         BigDecimal  tempValueHandle = new BigDecimal(0);
         if (tempValue.intValue() != 0){
-            tempValueHandle = tempValue.divide(new BigDecimal(10),2,BigDecimal.ROUND_HALF_UP);
+            tempValueHandle = tempValue.divide(BIG_10,2,BigDecimal.ROUND_HALF_UP);
         }
         String chipId = deviceCode+"1411";
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+        if(tempService.exitTemp(chipId,uploadDate))
+            return;
         EnvDevice envDevice =  envDeviceService.getByDeviceCode(deviceCode);
         EnvDeviceRecentlyData envDeviceRecentlyData =  envDeviceRecentlyDataService.getbyChipId(chipId);
-        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
         //更新实时表
         envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,tempValueHandle,1);
         //更新流水表
@@ -183,15 +312,18 @@ public class DeviceServiceImpl implements IDeviceService {
         String time = dataArray[5];
         EnvDevice envDevice =  envDeviceService.getByDeviceCode(deviceCode);
         Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
-        warningService.saveWarnings(envDevice,uploadDate,ordeNumber,actType);
-        if ("1".equals(ordeNumber)){
-            if ("1".equals(actType)){
-                envDevice.setDeviceStatus(0);
-            }else {
-                envDevice.setDeviceStatus(1);
+        if (("1".equals(ordeNumber) && envDevice.getDeviceStatus()==1) ||(!"1".equals(ordeNumber) &&  !(envDevice.getDeviceStatus()==1))){
+            warningService.saveWarnings(envDevice,uploadDate,ordeNumber,actType);
+            if ("1".equals(ordeNumber) ){
+                if ("1".equals(actType)){
+                    envDevice.setDeviceStatus(0);
+                }else {
+                    envDevice.setDeviceStatus(1);
+                }
+                envDeviceService.updateById(envDevice);
             }
-            envDeviceService.updateById(envDevice);
         }
+
     }
 
     @Override
@@ -203,7 +335,7 @@ public class DeviceServiceImpl implements IDeviceService {
         BigDecimal tempValue = new BigDecimal(originalTempValue);
         BigDecimal  tempValueHandle = new BigDecimal(0);
         if (tempValue.intValue() != 0){
-            tempValueHandle = tempValue.divide(new BigDecimal(10),1,BigDecimal.ROUND_HALF_UP);
+            tempValueHandle = tempValue.divide(BIG_10,1,BigDecimal.ROUND_HALF_UP);
         }
         String chipId = deviceCode+"1410";
         EnvDeviceRecentlyData envDeviceRecentlyData =  envDeviceRecentlyDataService.getbyChipId(chipId);
@@ -216,25 +348,59 @@ public class DeviceServiceImpl implements IDeviceService {
     public void saveFengStatus(String[] dataArray) {
         String deviceCode = dataArray[1];
         String originalTempValue = dataArray[3];
-        String time = dataArray[4];
-        long fanNum = envDeviceFanService.count(new QueryWrapper<EnvDeviceFan>().eq("device_code", deviceCode));
+        String bianPingoriginalTempValue = dataArray[4];
+//        String  zhuangShu = dataArray[5];
+        String time = dataArray[5];
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
         //hm+1001+61+16383+20230406135801+6+end
+        //2023-05-30新:hm+1001+61+63+3+50+20230530162016+1+end
+        long fanNum = envDeviceFanService.count(new QueryWrapper<EnvDeviceFan>().eq("device_code", deviceCode).eq("feng_type",1));
         String s = Integer.toBinaryString(Integer.parseInt(originalTempValue));
         String str = getStr(s,fanNum);
         int orderId = 1;
         for (int i = str.length() - 1; i >= 0; i--) {
             //状态
             char c = str.charAt(i);
-            String chipId = deviceCode+"11"+orderId;
+            String chipId ;
+            if (orderId <10){
+                chipId = deviceCode+"110"+orderId;
+            }else {
+                chipId = deviceCode+"11"+orderId;
+            }
             orderId++;
             EnvDeviceFan deviceFan = envDeviceFanService.getOne(new QueryWrapper<EnvDeviceFan>().eq("chip_code", chipId));
             System.out.println(deviceFan.toString());
             if (ObjectUtil.isNotEmpty(deviceFan)){
                 deviceFan.setDeviceCode(deviceFan.getDeviceCode());
                 deviceFan.setChipStatus(c == '1' ? 1 : 0);
+                deviceFan.setUpdateTime(uploadDate);
                 envDeviceFanService.updateById(deviceFan);
             }
         }
+
+        //变频,先不写
+        String[] split = bianPingoriginalTempValue.split(",");
+
+        long bianPingfanNum = envDeviceFanService.count(new QueryWrapper<EnvDeviceFan>().eq("device_code", deviceCode).eq("feng_type",2));
+        for (int i = 0; i < bianPingfanNum; i++) {
+            String chipId ;
+            if (orderId <10){
+                chipId = deviceCode+"110"+orderId;
+            }else {
+                chipId = deviceCode+"11"+orderId;
+            }
+            orderId++;
+            EnvDeviceFan deviceFan = envDeviceFanService.getOne(new QueryWrapper<EnvDeviceFan>().eq("chip_code", chipId));
+            System.out.println(deviceFan.toString());
+            if (ObjectUtil.isNotEmpty(deviceFan)){
+                deviceFan.setDeviceCode(deviceFan.getDeviceCode());
+                deviceFan.setChipStatus("0".equals(split[i]) ? 0 : 1);
+                deviceFan.setChipValue(split[i]);
+                deviceFan.setUpdateTime(uploadDate);
+                envDeviceFanService.updateById(deviceFan);
+            }
+        }
+
     }
 
     private String getStr(String s,Long fanNum) {
@@ -250,37 +416,61 @@ public class DeviceServiceImpl implements IDeviceService {
 
     @Override
     public void saveShiLianStatus(String[] dataArray) {
-        //hm+1001+62+1+20230408175711+5+end
         String deviceCode = dataArray[1];
-        //0关闭  1开启
         String status = dataArray[3];
         String time = dataArray[4];
-        String chipId = deviceCode+"133";
-        EnvDeviceOther envDeviceOther = envDeviceOtherService.getOne(new QueryWrapper<EnvDeviceOther>().eq("chip_code", chipId));
-        if (ObjectUtil.isNotEmpty(envDeviceOther)){
-            envDeviceOther.setChipStatus(Integer.parseInt(status));
-            Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
-            envDeviceOther.setUpdateTime(uploadDate);
-        }else {
-            log.info("湿帘设备为空");
+        long fanNum = envDevicePadService.count(new QueryWrapper<EnvDevicePad>().eq("device_code", deviceCode));
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+        String s = Integer.toBinaryString(Integer.parseInt(status));
+        String str = getStr(s,fanNum);
+        int orderId = 1;
+        for (int i = str.length() - 1; i >= 0; i--) {
+            //状态
+            char c = str.charAt(i);
+            String chipId ;
+            if (orderId <10){
+                chipId = deviceCode+"200"+orderId;
+            }else {
+                chipId = deviceCode+"20"+orderId;
+            }
+            orderId++;
+            EnvDevicePad deviceFan = envDevicePadService.getOne(new QueryWrapper<EnvDevicePad>().eq("chip_code", chipId));
+            System.out.println(deviceFan.toString());
+            if (ObjectUtil.isNotEmpty(deviceFan)){
+                deviceFan.setChipStatus(c == '1' ? 1 : 0);
+                deviceFan.setUpdateTime(uploadDate);
+                envDevicePadService.updateById(deviceFan);
+            }
         }
     }
 
     @Override
     public void savePenWuStatus(String[] dataArray) {
-        //hm+1001+62+1+20230408175711+5+end
         String deviceCode = dataArray[1];
-        //0关闭  1开启
         String status = dataArray[3];
         String time = dataArray[4];
-        String chipId = deviceCode+"134";
-        EnvDeviceOther envDeviceOther = envDeviceOtherService.getOne(new QueryWrapper<EnvDeviceOther>().eq("chip_code", chipId));
-        if (ObjectUtil.isNotEmpty(envDeviceOther)){
-            envDeviceOther.setChipStatus(Integer.parseInt(status));
-            Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
-            envDeviceOther.setUpdateTime(uploadDate);
-        }else {
-            log.info("喷雾设备为空");
+        long fanNum = atomizingService.count(new QueryWrapper<EnvDeviceAtomizing>().eq("device_code", deviceCode));
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+        String s = Integer.toBinaryString(Integer.parseInt(status));
+        String str = getStr(s,fanNum);
+        int orderId = 1;
+        for (int i = str.length() - 1; i >= 0; i--) {
+            //状态
+            char c = str.charAt(i);
+            String chipId ;
+            if (orderId <10){
+                chipId = deviceCode+"220"+orderId;
+            }else {
+                chipId = deviceCode+"22"+orderId;
+            }
+            orderId++;
+            EnvDeviceAtomizing deviceFan = atomizingService.getOne(new QueryWrapper<EnvDeviceAtomizing>().eq("chip_code", chipId));
+            System.out.println(deviceFan.toString());
+            if (ObjectUtil.isNotEmpty(deviceFan)){
+                deviceFan.setChipStatus(c == '1' ? 1 : 0);
+                deviceFan.setUpdateTime(uploadDate);
+                atomizingService.updateById(deviceFan);
+            }
         }
     }
 
@@ -305,11 +495,11 @@ public class DeviceServiceImpl implements IDeviceService {
         envDayagePeizhi.setLevelDayage(level);
         envDayagePeizhi.setDeployName(time);
         //将引号转为 \"
-        envDayagePeizhi.setOriginalValue(days_temp_cfg.replaceAll("\"","\\\\\""));
+        envDayagePeizhi.setOriginalValue(days_temp_cfg);
         BigDecimal bigDecimal = new BigDecimal(targetTemp);
         BigDecimal tempValue = new BigDecimal(0);
         if (bigDecimal.intValue() != 0){
-            tempValue =bigDecimal.divide(new BigDecimal(10),1,BigDecimal.ROUND_HALF_UP);
+            tempValue =bigDecimal.divide(BIG_10,1,BigDecimal.ROUND_HALF_UP);
         }
         envDayagePeizhi.setTargetTemp(tempValue);
         envDayagePeizhi.setTimeDayage(DateUtil.parse(time, "yyyyMMddHHmmss"));
@@ -356,17 +546,447 @@ public class DeviceServiceImpl implements IDeviceService {
         BigDecimal bigDecimal = new BigDecimal(tempDiff);
         BigDecimal tempValue = new BigDecimal(0);
         if (bigDecimal.intValue() != 0){
-            tempValue =bigDecimal.divide(new BigDecimal(10),1,BigDecimal.ROUND_HALF_UP);
+            tempValue =bigDecimal.divide(BIG_10,1,BigDecimal.ROUND_HALF_UP);
         }
         envDayagePeizhi.setTempDiff(tempValue);
         envDayagePeizhi.setDeviceCode(deviceCode);
         envDayagePeizhi.setDeployName(time);
-        envDayagePeizhi.setOriginalValue(air_fans_cfg.replaceAll("\"","\\\\\""));
+        envDayagePeizhi.setOriginalValue(air_fans_cfg);
         envDayagePeizhi.setTimeFeng(DateUtil.parse(time, "yyyyMMddHHmmss"));
         envFengPeizhiService.save(envDayagePeizhi);
 
     }
 
+    @Override
+    public void saveCO2(String[] dataArray) {
+
+        String deviceCode = dataArray[1];
+        String ordeNumber = dataArray[3];
+        String originalHumiValue = dataArray[4];
+        String status = dataArray[5];
+        String time = dataArray[6];
+        BigDecimal humiValue = new BigDecimal(originalHumiValue);
+
+
+        String chipId = deviceCode + "1415";
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+        if(envCo2Service.exitCo2(chipId,uploadDate))
+            return;
+
+        EnvDevice envDevice =  envDeviceService.getByDeviceCode(deviceCode);
+        EnvDeviceRecentlyData envDeviceRecentlyData =  envDeviceRecentlyDataService.getbyChipId(chipId);
+
+        //判断传感器 故障
+        if  ("1".equals(status)){
+            if (envDeviceRecentlyData.getChipStatus() != 1 ){
+                System.out.println("异常未恢复,未重新添加");
+                return;
+            }
+            log.info("传感器异常,未加入流水");
+            warningService.saveWarning(uploadDate,envDeviceRecentlyData,envDevice,chipId,null);
+            envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,humiValue,2);
+            return;
+        }else {
+            if (envDeviceRecentlyData.getChipStatus() == 2 ){
+                warningService.saveWarning(uploadDate,envDeviceRecentlyData,envDevice,chipId,"co2传感器恢复");
+                envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,humiValue,1);
+                System.out.println("异常恢复恢复");
+            }
+        }
+        //新增流水表
+        envCo2Service.saveCo2(chipId,envDevice,uploadDate,humiValue,humiValue);
+    }
+
+    //气压
+    @Override
+    public void saveYaLI(String[] dataArray) {
+
+        String deviceCode = dataArray[1];
+        String originalHumiValue = dataArray[4];
+        String status = dataArray[5];
+        String time = dataArray[6];
+        BigDecimal humiValue = new BigDecimal(originalHumiValue);
+        BigDecimal  humiValueHandle = new BigDecimal(0);
+        if (humiValue.intValue() != 0 ){
+            humiValueHandle = humiValue.divide(new BigDecimal(10),1,BigDecimal.ROUND_HALF_UP);
+        }
+
+        String chipId = deviceCode + "1416";
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+        if(pressureService.exitPressure(chipId,uploadDate))
+            return;
+        EnvDevice envDevice =  envDeviceService.getByDeviceCode(deviceCode);
+        EnvDeviceRecentlyData envDeviceRecentlyData =  envDeviceRecentlyDataService.getbyChipId(chipId);
+
+
+        //判断传感器 故障
+        if  ("1".equals(status)){
+            if (envDeviceRecentlyData.getChipStatus() != 1 ){
+                System.out.println("异常未恢复,未重新添加");
+                return;
+            }
+            log.info("传感器异常,未加入流水");
+            warningService.saveWarning(uploadDate,envDeviceRecentlyData,envDevice,chipId,null);
+            envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,humiValueHandle,2);
+            return;
+        }else {
+            if (envDeviceRecentlyData.getChipStatus() == 2 ){
+                warningService.saveWarning(uploadDate,envDeviceRecentlyData,envDevice,chipId,"压力传感器恢复");
+                envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,humiValue,1);
+                System.out.println("异常恢复恢复");
+            }
+        }
+        envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,humiValueHandle,1);
+        //新增流水表
+        pressureService.savePressure(chipId,envDevice,uploadDate,humiValueHandle,humiValue);
+    }
+
+    @Override
+    public void saveShuiNuan(String[] dataArray) {
+
+        String deviceCode = dataArray[1];
+        String originalHumiValue = dataArray[3];
+        String time = dataArray[4];
+        BigDecimal humiValue = new BigDecimal(originalHumiValue);
+        BigDecimal  humiValueHandle = new BigDecimal(0);
+        if (humiValue.intValue() != 0 ){
+            humiValueHandle = humiValue.divide(BIG_10,1,BigDecimal.ROUND_HALF_UP);
+        }
+
+        String chipId = deviceCode + "1421";
+        EnvDeviceRecentlyData envDeviceRecentlyData =  envDeviceRecentlyDataService.getbyChipId(chipId);
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+        //更新实时表
+         envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,humiValueHandle,1);
+    }
+
+    @Override
+    public void saveWeiZhi(String[] dataArray) {
+
+        String deviceCode = dataArray[1];
+        String originalHumiValue = dataArray[3];
+        String time = dataArray[4];
+
+        BigDecimal  humiValueHandle = new BigDecimal(0);
+        String[] split = originalHumiValue.split(",");
+        int i = 1;
+        for (String s : split) {
+            BigDecimal humiValue = new BigDecimal(s);
+            if (humiValue.intValue() != 0 ){
+                humiValueHandle = humiValue.divide(BIG_10,1,BigDecimal.ROUND_HALF_UP);
+            }
+
+            String chipId = deviceCode + "140"+i;
+            EnvDeviceRecentlyData envDeviceRecentlyData =  envDeviceRecentlyDataService.getbyChipId(chipId);
+            Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+            //更新实时表
+            envDeviceRecentlyDataService.updateByChipId(uploadDate,envDeviceRecentlyData,humiValueHandle,1);
+            i++;
+        }
+
+    }
+
+    @Override
+    public void saveShuiBiao(String[] dataArray) {
+        String deviceCode = dataArray[1];
+        String orderNum = dataArray[3];
+        String originalHumiValue = dataArray[4];
+        String status = dataArray[5];
+        String time = dataArray[6];
+        BigDecimal humiValue = new BigDecimal(originalHumiValue);
+        BigDecimal  humiValueHandle = new BigDecimal(0);
+        if (humiValue.intValue() != 0 ){
+            humiValueHandle = humiValue.divide(BIG_10,1,BigDecimal.ROUND_HALF_UP);
+        }
+
+        String chipId = deviceCode + "150"+orderNum;
+        EnvDevice envDevice =  envDeviceService.getByDeviceCode(deviceCode);
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+        EnvWarning one = warningService.getOne(new QueryWrapper<EnvWarning>().eq("chip_code", chipId).orderByDesc("update_time").last("limit 1"));
+
+        //判断传感器 故障
+        if  ("1".equals(status) && (ObjectUtil.isEmpty(one) || 2 ==one.getWarningAct() ) ){
+            log.info("传感器异常,未加入流水");
+            EnvWarning envWarning = new EnvWarning();
+            envWarning.setUnitId(envDevice.getUnitId());
+            envWarning.setWarningAct(1);
+            envWarning.setWarningType(8);
+            envWarning.setWarningContent("水表传感器异常");
+            envWarning.setFarmId(envDevice.getFarmId());
+            envWarning.setDeviceCode(envDevice.getDeviceCode());
+            envWarning.setChipCode(chipId);
+            envWarning.setUpdateTime(uploadDate);
+            warningService.save(envWarning);
+            return;
+        }
+
+        //判断传感器  恢复
+        if  ("0".equals(status) && ObjectUtil.isNotEmpty(one) && 1 ==one.getWarningAct() ){
+            EnvWarning envWarning = new EnvWarning();
+            envWarning.setUnitId(envDevice.getUnitId());
+            envWarning.setWarningAct(2);
+            envWarning.setWarningType(8);
+            envWarning.setWarningContent("水表传感器恢复");
+            envWarning.setFarmId(envDevice.getFarmId());
+            envWarning.setDeviceCode(deviceCode);
+            envWarning.setUpdateTime(uploadDate);
+            envWarning.setChipCode(chipId);
+            warningService.save(envWarning);
+        }
+        //新增流水表
+        envWaterService.saveShuiBiao(chipId,envDevice,uploadDate,humiValueHandle,humiValue);
+    }
+
+    @Override
+    public void saveDianBiao(String[] dataArray) {
+        String deviceCode = dataArray[1];
+        String orderNum = dataArray[3];
+        String originalHumiValue = dataArray[4];
+        String status = dataArray[5];
+        String time = dataArray[6];
+        BigDecimal humiValue = new BigDecimal(originalHumiValue);
+        BigDecimal  humiValueHandle = new BigDecimal(0);
+        if (humiValue.intValue() != 0 ){
+            humiValueHandle = humiValue.divide(BIG_10,1,BigDecimal.ROUND_HALF_UP);
+        }
+
+        String chipId = deviceCode + "160"+orderNum;
+        EnvDevice envDevice =  envDeviceService.getByDeviceCode(deviceCode);
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+        EnvWarning one = warningService.getOne(new QueryWrapper<EnvWarning>().eq("device_code", deviceCode).orderByDesc("update_time").last("limit 1"));
+
+    /*        //判断传感器 故障
+        if  ("1".equals(status) && (ObjectUtil.isEmpty(one) || 2 ==one.getWarningAct() ) ){
+            log.info("传感器异常,未加入流水");
+            EnvWarning envWarning = new EnvWarning();
+            envWarning.setUnitId(envDevice.getUnitId());
+            envWarning.setWarningAct(1);
+            envWarning.setWarningType(8);
+            envWarning.setWarningContent("电表传感器异常");
+            envWarning.setFarmId(envDevice.getFarmId());
+            envWarning.setDeviceCode(deviceCode);
+            envWarning.setUpdateTime(uploadDate);
+            warningService.save(envWarning);
+            return;
+        }*/
+
+       /* //判断传感器  恢复
+        if  ("0".equals(status) && ObjectUtil.isNotEmpty(one) && 1 ==one.getWarningAct()  ){
+            log.info("传感器异常,未加入流水");
+            EnvWarning envWarning = new EnvWarning();
+            envWarning.setUnitId(envDevice.getUnitId());
+            envWarning.setWarningAct(2);
+            envWarning.setWarningType(8);
+            envWarning.setWarningContent("电表传感器恢复");
+            envWarning.setFarmId(envDevice.getFarmId());
+            envWarning.setDeviceCode(envDevice.getDeviceCode());
+            envWarning.setUpdateTime(uploadDate);
+            warningService.save(envWarning);
+        }*/
+
+        //新增流水表
+        envElectricityService.saveDianBiao(chipId,envDevice,uploadDate,humiValueHandle,humiValue);
+
+    }
+
+    @Override
+    public void saveJiaReStatus(String[] dataArray) {
+        String deviceCode = dataArray[1];
+        String status = dataArray[3];
+        String time = dataArray[4];
+        long fanNum = heaterService.count(new QueryWrapper<EnvDeviceHeater>().eq("device_code", deviceCode));
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+        String s = Integer.toBinaryString(Integer.parseInt(status));
+        String str = getStr(s,fanNum);
+
+        int orderId = 1;
+        for (int i = str.length() - 1; i >= 0; i--) {
+            //状态
+            char c = str.charAt(i);
+            String chipId ;
+            if (orderId <10){
+                chipId = deviceCode+"230"+orderId;
+            }else {
+                chipId = deviceCode+"23"+orderId;
+            }
+            orderId++;
+            EnvDeviceHeater deviceFan = heaterService.getOne(new QueryWrapper<EnvDeviceHeater>().eq("chip_code", chipId));
+            System.out.println(deviceFan.toString());
+            if (ObjectUtil.isNotEmpty(deviceFan)){
+                deviceFan.setChipStatus(c == '1' ? 1 : 0);
+                deviceFan.setUpdateTime(uploadDate);
+                heaterService.updateById(deviceFan);
+            }
+        }
+    }
+
+    @Override
+    public void saveXiaoChuangStatus(String[] dataArray) {
+        String deviceCode = dataArray[1];
+        String status = dataArray[3];
+        String time = dataArray[4];
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+
+        int orderId = 1;
+        String chipId ;
+        for (String s : status.split(",")) {
+            if (orderId <10){
+                chipId = deviceCode+"120"+orderId;
+            }else {
+                chipId = deviceCode+"12"+orderId;
+            }
+
+            EnvDeviceFenestrule deviceFan = fenestruleService.getOne(new QueryWrapper<EnvDeviceFenestrule>().eq("chip_code", chipId));
+            System.out.println(deviceFan.toString());
+            if (ObjectUtil.isNotEmpty(deviceFan)){
+                deviceFan.setUpdateTime(uploadDate);
+                deviceFan.setChipValue(s);
+                deviceFan.setChipStatus("0".equals(s) ? 0 : 1);
+                fenestruleService.updateById(deviceFan);
+            }
+            orderId++;
+        }
+    }
+
+    @Override
+    public void saveDaoLiuStatus(String[] dataArray) {
+        String deviceCode = dataArray[1];
+        String status = dataArray[3];
+        String time = dataArray[4];
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+
+        int orderId = 1;
+        String chipId ;
+        for (String s : status.split(",")) {
+            if (orderId <10){
+                chipId = deviceCode+"210"+orderId;
+            }else {
+                chipId = deviceCode+"21"+orderId;
+            }
+
+            EnvDeviceDeflector deviceFan = deviceDeflectorService.getOne(new QueryWrapper<EnvDeviceDeflector>().eq("chip_code", chipId));
+            System.out.println(deviceFan.toString());
+            if (ObjectUtil.isNotEmpty(deviceFan)){
+                deviceFan.setUpdateTime(uploadDate);
+                deviceFan.setChipValue(s);
+                deviceFan.setChipStatus("0".equals(s) ? 0 : 1);
+                deviceDeflectorService.updateById(deviceFan);
+            }
+            orderId++;
+        }
+    }
+
+    @Override
+    public void saveZhaoMingStatus(String[] dataArray) {
+        String deviceCode = dataArray[1];
+        String status = dataArray[3];
+        String time = dataArray[4];
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+
+        int orderId = 1;
+        String chipId ;
+        for (String s : status.split(",")) {
+            if (orderId <10){
+                chipId = deviceCode+"240"+orderId;
+            }else {
+                chipId = deviceCode+"24"+orderId;
+            }
+
+            EnvDeviceFloodlight deviceFan = floodlightService.getOne(new QueryWrapper<EnvDeviceFloodlight>().eq("chip_code", chipId));
+            System.out.println(deviceFan.toString());
+            if (ObjectUtil.isNotEmpty(deviceFan)){
+                deviceFan.setUpdateTime(uploadDate);
+                deviceFan.setChipValue(s);
+                deviceFan.setChipStatus("0".equals(s) ? 0 : 1);
+                floodlightService.updateById(deviceFan);
+            }
+            orderId++;
+        }
+    }
+
+    @Override
+    public void saveChuChouStatus(String[] dataArray) {
+        String deviceCode = dataArray[1];
+        String status = dataArray[3];
+        String time = dataArray[4];
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+
+        int orderId = 1;
+        String chipId ;
+        for (String s : status.split(",")) {
+            if (orderId <10){
+                chipId = deviceCode+"250"+orderId;
+            }else {
+                chipId = deviceCode+"25"+orderId;
+            }
+
+            EnvDeviceChuchou deviceFan = chuchouService.getOne(new QueryWrapper<EnvDeviceChuchou>().eq("chip_code", chipId));
+            System.out.println(deviceFan.toString());
+            if (ObjectUtil.isNotEmpty(deviceFan)){
+                deviceFan.setUpdateTime(uploadDate);
+                deviceFan.setChipValue(s);
+                deviceFan.setChipStatus("0".equals(s) ? 0 : 1);
+                chuchouService.updateById(deviceFan);
+            }
+            orderId++;
+        }
+
+    }
+
+    @Override
+    public void saveLiaoTaStatus(String[] dataArray) {
+        String deviceCode = dataArray[1];
+        String status = dataArray[3];
+        String time = dataArray[4];
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+
+        int orderId = 1;
+        String chipId ;
+        for (String s : status.split(",")) {
+            if (orderId <10){
+                chipId = deviceCode+"260"+orderId;
+            }else {
+                chipId = deviceCode+"26"+orderId;
+            }
+
+            EnvDeviceLiaota deviceFan = liaotaService.getOne(new QueryWrapper<EnvDeviceLiaota>().eq("chip_code", chipId));
+            System.out.println(deviceFan.toString());
+            if (ObjectUtil.isNotEmpty(deviceFan)){
+                deviceFan.setUpdateTime(uploadDate);
+                deviceFan.setChipValue(s);
+                deviceFan.setChipStatus("0".equals(s) ? 0 : 1);
+                liaotaService.updateById(deviceFan);
+            }
+            orderId++;
+        }
+
+    }
+
+    @Override
+    public void saveAnqiStatus(String[] dataArray) {
+        String deviceCode = dataArray[1];
+        String ordeNumber = dataArray[3];
+        String originalHumiValue = dataArray[4];
+        String status = dataArray[5];
+        String time = dataArray[6];
+        BigDecimal humiValue = new BigDecimal(originalHumiValue);
+
+        String chipId = deviceCode + "1418";
+        Date uploadDate = DateUtil.parse(time, "yyyyMMddHHmmss");
+        EnvDevice envDevice =  envDeviceService.getByDeviceCode(deviceCode);
+        EnvAmmonia envAmmonia = new EnvAmmonia();
+        envAmmonia.setAskTime(uploadDate);
+        envAmmonia.setChipCode(chipId);
+        envAmmonia.setDeviceCode(deviceCode);
+        envAmmonia.setFarmId(envDevice.getFarmId());
+        envAmmonia.setHandleValue(originalHumiValue);
+        envAmmonia.setOriginalValue(originalHumiValue);
+        envAmmonia.setUpdateTime(uploadDate);
+        envAmmonia.setUnitId(envDevice.getUnitId()+"");
+        //新增流水表
+        iEnvAmmoniaService.save(envAmmonia);
+    }
+
     private String getChipId(String deviceCode, int type, String ordeNumber) {
         //温度
         String strType ;
@@ -390,4 +1010,6 @@ public class DeviceServiceImpl implements IDeviceService {
         return deviceCode+strType+ordeNumber;
     }
 
+
+
 }

+ 4 - 7
huimv-env-device/src/main/resources/application-prod.yml

@@ -27,19 +27,16 @@ spring:
 #    #虚拟host 可以不设置,使用server默认host
 #    virtual-host: /
   rabbitmq:
-    host: 121.36.134.218
+    host: 139.9.172.209
+    #    host: 10.0.0.14
     port: 5672
     username: admin
     password: admin
     #虚拟host 可以不设置,使用server默认host
-    virtual-host: /env
+    virtual-host: /
     listener:
       simple:
-        acknowledge-mode: none  #消费端不需要确认
-    #确认消息已发送到交换机(Exchange)
-    publisher-confirm-type: correlated
-    #确认消息已发送到队列(Queue)
-    publisher-returns: true
+        acknowledge-mode: auto
 
   #redis
 #  redis:

+ 0 - 4
huimv-env-input-water/pom.xml

@@ -75,10 +75,6 @@
             <scope>compile</scope>
         </dependency>
         <!-- fastjson -->
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>fastjson</artifactId>
-        </dependency>
 
         <dependency>
             <groupId>cn.hutool</groupId>

+ 83 - 10
huimv-env-input-water/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java

@@ -3,9 +3,9 @@ package com.huimv.env.input.server;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.huimv.env.common.entity.EnvElectricity;
-import com.huimv.env.common.entity.EnvWater;
+import com.huimv.env.common.entity.EnvFeed;
 import com.huimv.env.common.service.IEnvElectricityService;
+import com.huimv.env.common.service.IEnvFeedService;
 import com.huimv.env.common.service.IEnvWaterService;
 import com.huimv.env.input.utils.ModBusUtils;
 import io.netty.buffer.ByteBuf;
@@ -18,7 +18,6 @@ import org.springframework.stereotype.Component;
 
 import java.io.IOException;
 import java.math.BigDecimal;
-import java.nio.charset.Charset;
 import java.text.ParseException;
 import java.util.Date;
 import java.util.HashMap;
@@ -42,10 +41,9 @@ import static com.huimv.env.input.utils.ModBusUtils.hexStr2Bytes;
 public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     private StringBuilder askTextSb = null;
     @Autowired
-    private IEnvWaterService envWaterService;
+    private IEnvFeedService envFeedService;
+
 
-    @Autowired
-    private IEnvElectricityService envElectricityService;
     //
     public void appendClientAsk(String text) {
         if (this.askTextSb == null) {
@@ -53,7 +51,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
         }
         askTextSb.append(text);
     }
-
+    private  static  long LAST_NOW = System.currentTimeMillis();
 
     @Override
     public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
@@ -63,9 +61,80 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
         byte[] bytes = new byte[byteBuf.readableBytes()];
         byteBuf.readBytes(bytes);
         String str = ModBusUtils.bytes2HexString(bytes);
+//        System.out.println(str);
+        long now = System.currentTimeMillis();
+
+        long time = 5 * 60 * 1000;
+
+        if ((LAST_NOW + time) < now){
+            //这里写保存逻辑
+        try {
+            String cmd = saveWeight(str);
+            System.out.println(cmd);
+            LAST_NOW = now;
+        }catch (Exception e){
+            System.out.println(e);
+        }
+
+        }
+    }
+
+
+    private  String saveWeight(String str) {
+
+        String[] split = str.split(" ");
+        //FF 11 12 C0 C0
+        StringBuilder stringBuilder = new StringBuilder();
+        if (isNumeric(split[4])){
+            stringBuilder.append(split[4]);
+        }
+        if (isNumeric(split[3])){
+            stringBuilder.append(split[3]);
+        }
+        if (isNumeric(split[2])) {
+            stringBuilder.append(split[2]);
+        }
+        //当前值
+        BigDecimal bigDecimal = new BigDecimal(stringBuilder.toString());
+        EnvFeed id = envFeedService.getOne(new QueryWrapper<EnvFeed>().orderByDesc("id").last("limit 1"));
+        BigDecimal lastBigDecimal = new BigDecimal(0);
+        if (ObjectUtil.isNotEmpty(id)){
+            //上一次的值
+            lastBigDecimal = id.getOriginalValue();
+        }
+        BigDecimal subtract1 = lastBigDecimal.subtract(bigDecimal);
+        if (subtract1.compareTo(new BigDecimal(1000)) >0 || subtract1.compareTo(new BigDecimal(-1000))<0){
+            return "差值为" +subtract1 +",舍弃";
+        }
+        EnvFeed envFeed = new EnvFeed();
+        envFeed.setFarmId(27);
+        envFeed.setUpdateTime(new Date());
+        envFeed.setOriginalValue(bigDecimal);
+        if(lastBigDecimal.compareTo(bigDecimal) > 0){
+            BigDecimal subtract = lastBigDecimal.subtract(bigDecimal).divide(new BigDecimal(1000),3);
+            envFeed.setHandleValue(subtract);
+        }else {
+            envFeed.setHandleValue(new BigDecimal(0));
+        }
+        envFeedService.save(envFeed);
+        return stringBuilder.toString();
+    }
+
+    public static boolean isNumeric(String str) {
+        return str.matches("\\d+");
+    }
+
+ /*   @Override
+    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
+        Channel channel = ctx.channel();
+        ByteBuf byteBuf = (ByteBuf) msg;
+
+        byte[] bytes = new byte[byteBuf.readableBytes()];
+        byteBuf.readBytes(bytes);
+        String str = ModBusUtils.bytes2HexString(bytes);
         System.out.println("收到的数据:"+str);
         String cmd = saveWaterAndEle(str);
-        Thread.sleep(10*1000);
+        Thread.sleep(5*1000);
         System.out.println(cmd);
         channel.writeAndFlush(Unpooled.copiedBuffer(hexStr2Bytes(cmd)));
         super.channelRead(ctx, msg);
@@ -89,7 +158,11 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
             try {
                 System.out.println("水表");
                 int waterOrigValue = Integer.parseInt(val, 16);
-                BigDecimal bigDecimal = new BigDecimal(waterOrigValue);
+                BigDecimal bigDecimal1 = new BigDecimal(waterOrigValue);
+                BigDecimal bigDecimal = new BigDecimal(0);
+                if (!bigDecimal1.equals(0)){
+                    bigDecimal = bigDecimal1.divide(new BigDecimal(100),1,BigDecimal.ROUND_HALF_UP);
+                }
                 EnvWater oldEnvWater = envWaterService.getOne(new QueryWrapper<EnvWater>().orderByDesc("id").last("limit 1"));
                 BigDecimal originalValue = oldEnvWater.getOriginalValue();
                 EnvWater envWater = new EnvWater();
@@ -134,7 +207,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
         }
         return cmd;
     }
-
+*/
 
     private Integer countWeight(String[] s) {
         int count = 48;

+ 198 - 0
huimv-env-input/src/main/java/com/huimv/env/input/config/TopicRabbitMQConfig.java

@@ -185,4 +185,202 @@ public class TopicRabbitMQConfig {
         return BindingBuilder.bind(fengPeizhiQueue()).to(fengPeizhiExchange()).with(Const.ROUTING_KEY_ENV_FENG_PEIZHI);
     }
 
+    //风机状态
+    @Bean
+    public Queue fengStatusQueue() {
+        return new Queue(Const.QUEUE_ENV_FENG_STATUS);
+    }
+    @Bean
+    TopicExchange fengStatusExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_FENG_STATUS);
+    }
+    @Bean
+    Binding bindingfengStatusExchangeMessage() {
+        return BindingBuilder.bind(fengStatusQueue()).to(fengStatusExchange()).with(Const.ROUTING_KEY_ENV_FENG_STATUS);
+    }
+
+
+    //CO2
+    @Bean
+    public Queue co2DataQueue() {
+        return new Queue(Const.QUEUE_ENV_CO2_DATA);
+    }
+    @Bean
+    TopicExchange co2DatExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_CO2_DATA);
+    }
+    @Bean
+    Binding bindingCo2DatExchangeMessage() {
+        return BindingBuilder.bind(co2DataQueue()).to(co2DatExchange()).with(Const.ROUTING_KEY_ENV_CO2_DATA);
+    }
+
+    //CO2
+    @Bean
+    public Queue yaliDataQueue() {
+        return new Queue(Const.QUEUE_ENV_YALI_DATA);
+    }
+    @Bean
+    TopicExchange yaliDatExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_YALI_DATA);
+    }
+    @Bean
+    Binding bindingYaliDatExchangeMessage() {
+        return BindingBuilder.bind(yaliDataQueue()).to(yaliDatExchange()).with(Const.ROUTING_KEY_ENV_YALI_DATA);
+    }
+
+
+    //水暖
+    @Bean
+    public Queue shuinuanDataQueue() {
+        return new Queue(Const.QUEUE_ENV_SHUINUAN_DATA);
+    }
+    @Bean
+    TopicExchange shuinuanDatExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_SHUINUAN_DATA);
+    }
+    @Bean
+    Binding bindingshuinuanDatExchangeMessage() {
+        return BindingBuilder.bind(shuinuanDataQueue()).to(shuinuanDatExchange()).with(Const.ROUTING_KEY_ENV_SHUINUAN_DATA);
+    }
+
+    //位置
+    @Bean
+    public Queue weizhiDataQueue() {
+        return new Queue(Const.QUEUE_ENV_WEIZHI_DATA);
+    }
+    @Bean
+    TopicExchange weizhiDatExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_WEIZHI_DATA);
+    }
+    @Bean
+    Binding bindingweizhiDatExchangeMessage() {
+        return BindingBuilder.bind(weizhiDataQueue()).to(weizhiDatExchange()).with(Const.ROUTING_KEY_ENV_WEIZHI_DATA);
+    }
+
+    // 水表
+    @Bean
+    public Queue shuibiaoDataQueue() {
+        return new Queue(Const.QUEUE_ENV_SHUIBIAO_DATA);
+    }
+    @Bean
+    TopicExchange shuibiaoDatExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_SHUIBIAO_DATA);
+    }
+    @Bean
+    Binding bindingshuibiaoDatExchangeMessage() {
+        return BindingBuilder.bind(shuibiaoDataQueue()).to(shuibiaoDatExchange()).with(Const.ROUTING_KEY_ENV_SHUIBIAO_DATA);
+    }
+
+    //电表
+    @Bean
+    public Queue dianbiaoDataQueue() {
+        return new Queue(Const.QUEUE_ENV_DIANBIAO_DATA);
+    }
+    @Bean
+    TopicExchange dianbiaoDatExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_DIANBIAO_DATA);
+    }
+    @Bean
+    Binding bindingdianbiaoDatExchangeMessage() {
+        return BindingBuilder.bind(dianbiaoDataQueue()).to(dianbiaoDatExchange()).with(Const.ROUTING_KEY_ENV_DIANBIAO_DATA);
+    }
+
+    //加热器
+    @Bean
+    public Queue jiareStatusQueue() {
+        return new Queue(Const.QUEUE_ENV_JIARE_STATUS);
+    }
+    @Bean
+    TopicExchange jiareStatusExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_JIARE_STATUS);
+    }
+    @Bean
+    Binding bindingjiareStatusExchangeMessage() {
+        return BindingBuilder.bind(jiareStatusQueue()).to(jiareStatusExchange()).with(Const.ROUTING_KEY_ENV_JIARE_STATUS);
+    }
+
+    //小窗
+    @Bean
+    public Queue xiaochuangStatusQueue() {
+        return new Queue(Const.QUEUE_ENV_XIAOCHUANG_STATUS);
+    }
+    @Bean
+    TopicExchange xiaochuangStatusExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_XIAOCHUANG_STATUS);
+    }
+    @Bean
+    Binding bindingxiaochuangStatusExchangeMessage() {
+        return BindingBuilder.bind(xiaochuangStatusQueue()).to(xiaochuangStatusExchange()).with(Const.ROUTING_KEY_ENV_XIAOCHUANG_STATUS);
+    }
+
+    //导流板
+    @Bean
+    public Queue daoliuStatusQueue() {
+        return new Queue(Const.QUEUE_ENV_DAOLIU_STATUS);
+    }
+    @Bean
+    TopicExchange daoliuStatusExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_DAOLIU_STATUS);
+    }
+    @Bean
+    Binding bindingdaoliuStatusExchangeMessage() {
+        return BindingBuilder.bind(daoliuStatusQueue()).to(daoliuStatusExchange()).with(Const.ROUTING_KEY_ENV_DAOLIU_STATUS);
+    }
+
+    //照明
+    @Bean
+    public Queue zhaomingStatusQueue() {
+        return new Queue(Const.QUEUE_ENV_ZHAOMING_STATUS);
+    }
+    @Bean
+    TopicExchange zhaomingStatusExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_ZHAOMING_STATUS);
+    }
+    @Bean
+    Binding bindingzhaomingStatusExchangeMessage() {
+        return BindingBuilder.bind(zhaomingStatusQueue()).to(zhaomingStatusExchange()).with(Const.ROUTING_KEY_ENV_ZHAOMING_STATUS);
+    }
+
+
+    //除臭
+    @Bean
+    public Queue chuchouStatusQueue() {
+        return new Queue(Const.QUEUE_ENV_CHUCHOU_STATUS);
+    }
+    @Bean
+    TopicExchange chuchouStatusExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_CHUCHOU_STATUS);
+    }
+    @Bean
+    Binding bindingchuchouStatusExchangeMessage() {
+        return BindingBuilder.bind(chuchouStatusQueue()).to(chuchouStatusExchange()).with(Const.ROUTING_KEY_ENV_CHUCHOU_STATUS);
+    }
+
+    //料塔
+    @Bean
+    public Queue liaotaStatusQueue() {
+        return new Queue(Const.QUEUE_ENV_LIAOTA_STATUS);
+    }
+    @Bean
+    TopicExchange liaotaStatusExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_LIAOTA_STATUS);
+    }
+    @Bean
+    Binding bindingliaotaStatusExchangeMessage() {
+        return BindingBuilder.bind(liaotaStatusQueue()).to(liaotaStatusExchange()).with(Const.ROUTING_KEY_ENV_LIAOTA_STATUS);
+    }
+
+    //氨气
+    @Bean
+    public Queue anqiStatusQueue() {
+        return new Queue(Const.QUEUE_ENV_ANQI);
+    }
+    @Bean
+    TopicExchange anqiStatusExchange() {
+        return new TopicExchange(Const.EXCHANGE_ENV_ANQI);
+    }
+    @Bean
+    Binding bindinganqiStatusExchangeMessage() {
+        return BindingBuilder.bind(anqiStatusQueue()).to(anqiStatusExchange()).with(Const.ROUTING_KEY_ENV_ANQI);
+    }
 }

+ 93 - 0
huimv-env-input/src/main/java/com/huimv/env/input/producer/Producer.java

@@ -122,4 +122,97 @@ public class Producer {
     }
 
 
+    public String sendCo2(String askText) {
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_CO2_DATA, Const.ROUTING_KEY_ENV_CO2_DATA, map);
+        return "ok";
+    }
+
+    public String sendYaLi(String askText) {
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_YALI_DATA, Const.ROUTING_KEY_ENV_YALI_DATA, map);
+        return "ok";
+    }
+
+    public String  sendShuiNuan(String askText) {
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_SHUINUAN_DATA, Const.ROUTING_KEY_ENV_SHUINUAN_DATA, map);
+        return "ok";
+    }
+
+    public String  sendWeiZhi(String askText) {
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_WEIZHI_DATA, Const.ROUTING_KEY_ENV_WEIZHI_DATA, map);
+        return "ok";
+
+    }
+
+    public String sendShuiBiaoData(String askText) {
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_SHUIBIAO_DATA, Const.ROUTING_KEY_ENV_SHUIBIAO_DATA, map);
+        return "ok";
+    }
+
+    public String sendDianBiaoData(String askText) {
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_DIANBIAO_DATA, Const.ROUTING_KEY_ENV_DIANBIAO_DATA, map);
+        return "ok";
+    }
+
+    public String sendJiaReStatus(String askText) {
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_JIARE_STATUS, Const.ROUTING_KEY_ENV_JIARE_STATUS, map);
+        return "ok";
+    }
+
+    public String sendXiaoChuangStatus(String askText) {
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_XIAOCHUANG_STATUS, Const.ROUTING_KEY_ENV_XIAOCHUANG_STATUS, map);
+        return "ok";
+    }
+
+    public String sendDaoLiuStatus(String askText) {
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_DAOLIU_STATUS, Const.ROUTING_KEY_ENV_DAOLIU_STATUS, map);
+        return "ok";
+    }
+
+    public String sendZhaoMingStatus(String askText) {
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_ZHAOMING_STATUS, Const.ROUTING_KEY_ENV_ZHAOMING_STATUS, map);
+        return "ok";
+    }
+
+    public String sendChuChouStatus(String askText) {
+
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_CHUCHOU_STATUS, Const.ROUTING_KEY_ENV_CHUCHOU_STATUS, map);
+        return "ok";
+    }
+
+    public String sendLiaoKongStatus(String askText) {
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_LIAOTA_STATUS, Const.ROUTING_KEY_ENV_LIAOTA_STATUS, map);
+        return "ok";
+    }
+
+    public String sendAnqi(String askText) {
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_ANQI, Const.ROUTING_KEY_ENV_ANQI, map);
+        return "ok";
+
+    }
 }

+ 279 - 77
huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java

@@ -1,8 +1,8 @@
 package com.huimv.env.input.server;
 
-import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.env.common.service.IRawDataService;
 import com.huimv.env.common.utils.RegexUtil;
 import com.huimv.env.input.producer.Producer;
 import com.huimv.env.input.service.ICommandProcessorService;
@@ -44,6 +44,8 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     @Autowired
     private DateUtil2 dateUtil;
     @Autowired
+    private IRawDataService rawDataService;
+    @Autowired
     private Producer producer;
     private StringBuilder askTextSb = null;
 
@@ -133,6 +135,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
         String cmd = dataArray[2];
         Map map = new HashMap();
         map.put("askText", askText);
+        rawDataService.insert(idCode,askText);
         switch (cmd) {
             case "1":
                 //获取远程设备编码
@@ -162,6 +165,14 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
                 //目标温度
                 uploadTargetnTemp(askText, idCode, ctx);
                 break;
+            case "8":
+                //水暖温度
+                uploadShuiNuanTemp(askText, idCode, ctx);
+                break;
+            case "9":
+                //水暖温度
+                uploadWeiZhiTemp(askText, idCode, ctx);
+                break;
             case "21":
                 //温度
                 uploadTemp(askText, idCode, ctx);
@@ -170,10 +181,34 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
                 //湿度
                 uploadHumi(askText, idCode, ctx);
                 break;
+            case "23":
+                //co2
+                uploadCo2(dataArray,askText, idCode, ctx);
+                break;
+            case "24":
+                //压力
+                uploadYaLi(dataArray,askText, idCode, ctx);
+                break;
+            case "25":
+                //氨气
+                uoloadAnqi(askText, idCode, ctx);
+                break;
+            case "31":
+                //水表
+                uploadShuiBiao(dataArray,askText, idCode, ctx);
+                break;
+            case "32":
+                //电表
+                uploadDianBiao(dataArray,askText, idCode, ctx);
+                break;
             case "41":
                 //报警
                 uploadWarning(askText, idCode, ctx);
                 break;
+            case "42":
+                //报警
+                uploadStatusWaraning(askText, idCode, ctx);
+                break;
             case "61":
                 //风机状态
                 uploadFengStatus(askText, idCode, ctx);
@@ -186,6 +221,30 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
                 //喷雾状态
                 uploadPengWuStatus(askText, idCode, ctx);
                 break;
+            case "64":
+                //加热器状态
+                uploadJiaReQiStatus(askText, idCode, ctx);
+                break;
+            case "65":
+                //小窗状态
+                uploadXiaoChuangStatus(askText, idCode, ctx);
+                break;
+            case "66":
+                //导流板状态
+                uploadDaoLiuBanStatus(askText, idCode, ctx);
+                break;
+            case "67":
+                //照明状态
+                uploadZhaoMingStatus(askText, idCode, ctx);
+                break;
+            case "68":
+                //料控状态
+                uploadLiaoKongStatus(askText, ctx);
+                break;
+            case "69":
+                //除臭状态
+                uploadChuChouStatus(askText, ctx);
+                break;
             case "81":
                 //日龄配置
                 uploadDayAgePeizhiuStatus(askText, idCode, ctx);
@@ -208,28 +267,188 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
         }
     }
 
-    private void uploadGainDayAgePeizhiuStatus(String[] dataArray,String askText, String idCode, ChannelHandlerContext ctx) {
+    private void uploadChuChouStatus(String askText,  ChannelHandlerContext ctx) {
+        String answerText = "hm+69+0+4+end";
+        log.info(">>除臭状态上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        producer.sendChuChouStatus(askText);
+    }
+
+    private void uploadLiaoKongStatus(String askText,  ChannelHandlerContext ctx) {
+        String answerText = "hm+68+0+4+end";
+        log.info(">>料控状态上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        producer.sendLiaoKongStatus(askText);
+    }
+
+    private void uoloadAnqi( String askText, String idCode, ChannelHandlerContext ctx) {
+        String answerText = "hm+25+0+8+end";
+        log.info(">>氨气  等级上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送湿度请求到消息队列
+        producer.sendAnqi(askText);
+    }
+
+    private void uploadZhaoMingStatus(String askText, String idCode, ChannelHandlerContext ctx) {
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("#照明状态上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
+        String answerText = "hm+67+0+4+end";
+        log.info(">>照明状态上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        producer.sendZhaoMingStatus(askText);
+    }
+
+    private void uploadDaoLiuBanStatus(String askText, String idCode, ChannelHandlerContext ctx) {
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("#导流板状态上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
+        String answerText = "hm+66+0+4+end";
+        log.info(">>导流板状态上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        producer.sendDaoLiuStatus(askText);
+    }
 
-        String originalValue =cmdProService.getDayAgePeiZhi(dataArray,idCode);
-        if (StringUtils.isNotBlank(originalValue)){
-            String answerText = "hm+91+0+"+originalValue+"+end";
-            log.info(">>获取日龄配置上传请求-应答数据>>" + answerText);
+    private void uploadXiaoChuangStatus(String askText, String idCode, ChannelHandlerContext ctx) {
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("#小窗状态上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
+        String answerText = "hm+65+0+4+end";
+        log.info(">>小窗状态上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送湿度请求到消息队列
+        producer.sendXiaoChuangStatus(askText);
+    }
+
+    private void uploadJiaReQiStatus(String askText, String idCode, ChannelHandlerContext ctx) {
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("#加热状态上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
+        String answerText = "hm+64+0+4+end";
+        log.info(">>加热温度上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送湿度请求到消息队列
+        producer.sendJiaReStatus(askText);
+    }
+
+    private void uploadDianBiao(String[] dataArray, String askText, String idCode, ChannelHandlerContext ctx) {
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("#电表上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
+        String answerText = "hm+32+0+4+end";
+        log.info(">>电表上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送湿度请求到消息队列
+        producer.sendDianBiaoData(askText);
+    }
+
+    private void uploadShuiBiao(String[] dataArray, String askText, String idCode, ChannelHandlerContext ctx) {
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("#水表上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
+        String answerText = "hm+31+0+4+end";
+        log.info(">>水表温度上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送湿度请求到消息队列
+        producer.sendShuiBiaoData(askText);
+    }
+    private void uploadWeiZhiTemp(String askText, String idCode, ChannelHandlerContext ctx) {
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("##位置温度上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
+        String answerText = "hm+9+0+4+end";
+        log.info(">>位置温度上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送湿度请求到消息队列
+        producer.sendWeiZhi(askText);
+    }
+
+    private void uploadShuiNuanTemp(String askText, String idCode, ChannelHandlerContext ctx) {
+
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("##水暖上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
+        String answerText = "hm+8+0+4+end";
+        log.info(">>水暖上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送湿度请求到消息队列
+        producer.sendShuiNuan(askText);
+    }
+
+    private void uploadStatusWaraning(String askText, String idCode, ChannelHandlerContext ctx) {
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("##状态报警上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
+        String answerText = "hm+42+0+2+end";
+        log.info(">>状态报警上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送湿度请求到消息队列
+        producer.sendWarning(askText);
+    }
+
+    private void uploadYaLi(String[] dataArray, String askText, String idCode, ChannelHandlerContext ctx) {
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("##压力 上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
+        String answerText = "hm+24+0+8+end";
+        log.info(">>压力  等级上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送湿度请求到消息队列
+        producer.sendYaLi(askText);
+    }
+
+    private void uploadCo2(String[] dataArray, String askText, String idCode, ChannelHandlerContext ctx) {
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("##CO2 上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
+        //TODO
+        String answerText = "hm+23+0+8+end";
+        log.info(">>CO2 等级上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送湿度请求到消息队列
+        producer.sendCo2(askText);
+    }
+
+    private void uploadGainDayAgePeizhiuStatus(String[] dataArray,String askText, String idCode, ChannelHandlerContext ctx) {
+        try {
+            String originalValue =cmdProService.getDayAgePeiZhi(dataArray,idCode);
+            String answerText ="hm+91+1+"+originalValue+"+0+end";
+            if (StringUtils.isNotBlank(originalValue)){
+                answerText = "hm+91+0+"+originalValue+"+0+end";
+                log.info(">>获取日龄配置上传请求-应答数据>>" + answerText);
+            }else {
+                log.info("该设备没有设置日龄配置>>" );
+            }
             answerCmd(answerText, ctx);
-        }else {
-            log.info("该设备没有设置日龄配置>>" );
+        }catch (Exception e){
+            System.out.println(e);
         }
-
     }
 
     private void uploadGainTongFengPeizhiuStatus(String[] dataArray,String askText, String idCode, ChannelHandlerContext ctx) {
-
-        String originalValue = cmdProService.getFengPeiZhi(dataArray);
-        if (StringUtils.isNotBlank(originalValue)) {
-            String answerText = "hm+92+0+" + originalValue + "+end";
-            log.info(">>获取通风等级配置上传请求-应答数据>>" + answerText);
+        try {
+            String originalValue = cmdProService.getFengPeiZhi(dataArray);
+            String answerText ="hm+92+1"+originalValue+"+0+end";
+            if (StringUtils.isNotBlank(originalValue)) {
+                answerText = "hm+92+0+" + originalValue + "+0+end";
+                log.info(">>获取通风等级配置上传请求-应答数据>>" + answerText);
+            } else {
+                log.info("该设备没有设置获取通风等级配置>>");
+            }
             answerCmd(answerText, ctx);
-        } else {
-            log.info("该设备没有设置获取通风等级配置>>");
+        }catch (Exception e){
+            System.out.println(e);
         }
     }
 
@@ -238,10 +457,10 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     private void uploadTongFengPeizhiuStatus(String askText, String idCode, ChannelHandlerContext ctx) {
         String answerText = "hm+82+0+2+end";
         answerCmd(answerText, ctx);
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##通风配置上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("##通风配置上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
         log.info(">>通风配置上传请求-应答数据>>" + answerText);
         producer.sendTongFengPeiZhi(askText);
     }
@@ -249,20 +468,20 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     private void uploadDayAgePeizhiuStatus(String askText, String idCode, ChannelHandlerContext ctx) {
         String answerText = "hm+81+0+2+end";
         answerCmd(answerText, ctx);
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##日龄温度上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("##日龄温度上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
         log.info(">>日龄温度上传请求-应答数据>>" + answerText);
         producer.sendDayAgePeiZhi(askText);
     }
 
     //喷雾
     private void uploadPengWuStatus(String askText, String idCode, ChannelHandlerContext ctx) {
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##喷雾状态上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("##喷雾状态上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
         String answerText = "hm+63+0+2+end";
         log.info(">>喷雾状态上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
@@ -271,10 +490,10 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
 
     //湿帘
     private void uploadShiLianStatus(String askText, String idCode, ChannelHandlerContext ctx) {
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##湿帘状态上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("##湿帘状态上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
         String answerText = "hm+62+0+2+end";
         log.info(">>湿帘状态上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
@@ -287,16 +506,21 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
         System.out.println("==>获取远程设备编码请求:" + askText.trim());
         //{读取设备编码}
         String deviceCode = cmdProService.getDeviceCodeByChipId(idCode);
-        log.info("获取远程设备编码请求,芯片id>>" + idCode + " ,deviceCode>>" + deviceCode);
-        if (deviceCode == null) {
-            log.error("该设备未注册,已舍弃请求.");
-            return;
-        }
-        String answerText = "hm+1+0+" + deviceCode + "+0+end";
-        log.info("<<获取远程设备编码请求-应答数据:" + answerText);
+        try {
+            log.info("获取远程设备编码请求,芯片id>>" + idCode + " ,deviceCode>>" + deviceCode);
+            if (deviceCode == null) {
+                log.error("该设备未注册,已舍弃请求.");
+                return;
+            }
+            String answerText = "hm+1+0+" + deviceCode + "+0+end";
+            log.info("<<获取远程设备编码请求-应答数据:" + answerText);
 //        //{应答指令}
-        answerCmd(answerText, ctx);
-        cmdProService.updateStatus(idCode);
+            answerCmd(answerText, ctx);
+            cmdProService.updateStatus(idCode);
+        }catch (Exception e){
+            System.out.println(e);
+        }
+
     }
     //时间同步请求
     private void getServerTime(String askText, String deviceCode, ChannelHandlerContext ctx) throws ParseException {
@@ -308,10 +532,10 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
 
     //日龄
     private void uploadDayAge(String askText, String idCode, ChannelHandlerContext ctx) {
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##日龄上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("##日龄上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
         String answerText = "hm+3+0+4+end";
         log.info(">>日龄上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
@@ -320,10 +544,10 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     }
 
     private void uploadFeng(String askText, String idCode, ChannelHandlerContext ctx) {
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##通风等级上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
+//        if (!cmdProService.isEffectiveDevice(idCode)) {
+//            System.out.println("##通风等级上传请求-未注册设备 idCode=" + idCode);
+//            return;
+//        }
         String answerText = "hm+4+0+4+end";
         log.info(">>通风等级上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
@@ -332,10 +556,6 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     }
 
     private void uploadOutTemp(String askText, String idCode, ChannelHandlerContext ctx) {
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##舍外温度上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
         String answerText = "hm+5+0+4+end";
         log.info(">>舍外温度上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
@@ -344,10 +564,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     }
 
     private void uploadInTemp(String askText, String idCode, ChannelHandlerContext ctx) {
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##舍内温度上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
+
         String answerText = "hm+6+0+4+end";
         log.info(">>舍内温度上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
@@ -355,10 +572,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
         producer.sendInTemp(askText);
     }
     private void uploadTargetnTemp(String askText, String idCode, ChannelHandlerContext ctx) {
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##目标温度上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
+
         String answerText = "hm+7+0+4+end";
         log.info(">>目标温度上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
@@ -367,10 +581,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     }
 
     private void uploadTemp(String askText, String idCode, ChannelHandlerContext ctx) {
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##温度上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
+
         String answerText = "hm+21+0+7+end";
         log.info(">>温度上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
@@ -379,10 +590,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     }
 
     private void uploadHumi(String askText, String idCode, ChannelHandlerContext ctx) {
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##湿度度上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
+
         String answerText = "hm+22+0+8+end";
         log.info(">>湿度上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
@@ -391,10 +599,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     }
 
     private void uploadWarning(String askText, String idCode, ChannelHandlerContext ctx) {
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##预警上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
+
         String answerText = "hm+41+0+2+end";
         log.info(">>预警上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
@@ -402,10 +607,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
         producer.sendWarning(askText);
     }
     private void uploadFengStatus(String askText, String idCode, ChannelHandlerContext ctx) {
-        if (!cmdProService.isEffectiveDevice(idCode)) {
-            System.out.println("##风机状态上传请求-未注册设备 idCode=" + idCode);
-            return;
-        }
+
         String answerText = "hm+61+0+2+end";
         log.info(">>风机状态上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);

+ 72 - 0
huimv-env-input/src/main/java/com/huimv/env/input/utils/DSendSMS.java

@@ -0,0 +1,72 @@
+package com.huimv.env.input.utils;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+
+public class DSendSMS {
+	static String httpUrl = "http://imlaixin.cn/Api/send/data/json";
+	
+	//短信内容不能出现空格,换行,百分号等特殊字符.相同两条短信之间内容不能相同
+	public static void main(String[] args) {
+		/**
+		 *发送给报警器
+		 *//*
+		String content = "003C0043004C0045004100520030003000310039003E";
+		String mobile = "18767100452";//多个用英文逗号隔开 如18767100452,1388888888
+		content = UnicodeTool.decodeUnicode(UnicodeTool.addUnicodeU(content.toString()));*/
+		
+		/**
+		 * 发送给用户 
+		 */
+//		String mobile = "13750862931";
+//		String mobile = "13140429955";
+		String mobile = "13376830277";
+//		String content = "%3CCLOSE00000000%3e+52通知【慧牧科技】";
+		String content = "0,2306101111520790<CLOSE99999999>";
+//		String content = "%3CCLOSE00000158%3e";
+//		String content = "0,2306061142510170%3C13140429955;13140429955;13140429955;03保育11断电报警%3e";
+		String httpArg = "accesskey=5493&secretkey=7e6f0b6e9d12d2c750cbf1932a4b9cc53e36509b&mobile=" + mobile + "&content=" + content;
+		String jsonResult = request(httpUrl, httpArg);
+		System.out.println(jsonResult);//返回码
+	}
+	
+	public static void sendSMS(String[] mobiles, String content) {
+		for (String mobile : mobiles) {
+			String httpArg = "accesskey=5493&secretkey=7e6f0b6e9d12d2c750cbf1932a4b9cc53e36509b&mobile=" + mobile + "&content=" + content + "通知【慧牧科技】";
+			System.out.println(httpArg);
+			String jsonResult = request(httpUrl, httpArg);
+			System.out.println(jsonResult);//返回码
+		}
+	}
+	
+
+	public static String request(String httpUrl, String httpArg) {
+	    BufferedReader reader = null;
+	    String result = null;
+	    StringBuffer sbf = new StringBuffer();
+	    httpUrl = httpUrl + "?" + httpArg;
+	    try {
+	        URL url = new URL(httpUrl);
+	        HttpURLConnection connection = (HttpURLConnection) url
+	                .openConnection();
+	        connection.setRequestMethod("GET");       
+	        connection.connect();
+	        InputStream is = connection.getInputStream();
+	        reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
+	        String strRead = null;
+	        while ((strRead = reader.readLine()) != null) {
+	            sbf.append(strRead);
+	            sbf.append("\r\n");
+	        }
+	        reader.close();
+	        result = sbf.toString();
+	    } catch (Exception e) {
+	        e.printStackTrace();
+	    }
+	    return result;
+	}
+}

+ 171 - 0
huimv-env-input/src/main/java/com/huimv/env/input/utils/SendSMS.java

@@ -0,0 +1,171 @@
+//package com.huimv.env.input.utils;
+//
+//import com.huimv.busi.xt.utils.MD5;
+//import org.apache.commons.httpclient.HttpClient;
+//import org.apache.commons.httpclient.HttpException;
+//import org.apache.commons.httpclient.HttpStatus;
+//import org.apache.commons.httpclient.NameValuePair;
+//import org.apache.commons.httpclient.methods.PostMethod;
+//import org.apache.commons.httpclient.params.HttpMethodParams;
+//import org.springframework.util.StringUtils;
+//
+//import java.io.BufferedReader;
+//import java.io.IOException;
+//import java.io.InputStream;
+//import java.io.InputStreamReader;
+//
+//public class SendSMS {
+//
+//	private static String username = "6085";
+//
+//	private static String password = "huimu@6085";
+//	/**
+//	 * @param args
+//	 */
+//	public static void main(String[] args) {
+//		String [] mobiles = {"18257101194"};
+//		String result = getYe();
+//		sendSMS(mobiles, result);
+//	}
+//
+//	public static String sendSMS(String[] mobiles,String content) {
+//		String result = "";
+//		try {
+//			HttpClient client = new HttpClient();
+//			client.getParams().setParameter(
+//					HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
+//
+////			PostMethod method = new PostMethod(
+////			"http://202.91.244.252/qd/SMSSendYD"); // 测试环境
+//			PostMethod method = new PostMethod(
+//					"http://116.62.244.37/qdplat/SMSSendYD"); // 接口变更
+//
+//			method.addRequestHeader("Connection", "close");
+//			method.setRequestHeader("Content-Type",
+//					"application/x-www-form-urlencoded;charset=GBK");
+//
+//			String usr = username;
+//			String pwd = password;
+//			String sms = content;
+//			String extdsrcid = "";
+//
+//			StringBuilder mobileSb = new StringBuilder();
+//			for (int i = 0; i < mobiles.length; i++) {
+//				if (StringUtils.hasText(mobiles[i])) {
+//					if (!mobiles[i].equals("13676826533") && !mobiles[i].equals("13967014091")) {
+//						mobileSb.append(mobiles[i]).append(",");
+//					}
+//				}
+//			}
+//
+//			if (!StringUtils.hasText(mobileSb.toString())) {
+//				return "号码已经禁用";
+//			}
+//
+//			 NameValuePair[] param = { new NameValuePair("usr", usr),
+//			 new NameValuePair("pwd", pwd),
+//			 new NameValuePair("mobile", mobileSb.toString()),
+//			 new NameValuePair("sms", sms),
+//			 new NameValuePair("extdsrcid", extdsrcid)};
+//
+//			// 将表单的值放入postMethod中
+//			method.setRequestBody(param);
+//
+//			// 执行postMethod
+//			int statusCode = 0;
+//			try {
+//				statusCode = client.executeMethod(method);
+//			} catch (HttpException e) {
+//				e.printStackTrace();
+//			} catch (IOException e) {
+//				e.printStackTrace();
+//			}
+//			// HttpClient对于要求接受后继服务的请求,像POST和PUT等不能自动处理转发
+//			if (statusCode != HttpStatus.SC_OK) {
+//				System.out.println("Tianjin,Method failed:" + method.getStatusLine());
+//			}
+//
+//			// 读取内容
+//			InputStream resInputStream = null;
+//			try {
+//				resInputStream = method.getResponseBodyAsStream();
+//			} catch (IOException e) {
+//				e.printStackTrace();
+//			}
+//			// 处理内容
+//			BufferedReader reader = new BufferedReader(new InputStreamReader(
+//					resInputStream));
+//			String tempBf = null;
+//			StringBuffer html = new StringBuffer();
+//			while ((tempBf = reader.readLine()) != null) {
+//				html.append(tempBf);
+//			}
+//			result = html.toString() + content;
+//			System.out.println("result:" + result);
+//		} catch (Exception e) {
+//		}
+//		return result;
+//	}
+//
+//	//获取余额
+//	public static String getYe() {
+//		String result = "";
+//		try {
+//			HttpClient client = new HttpClient();
+//			client.getParams().setParameter(
+//					HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
+//
+////			PostMethod method = new PostMethod(
+////			"http://202.91.244.252/puxun/GetBalance"); // 测试环境
+//			PostMethod method = new PostMethod(
+//					"http://116.62.244.37/yqx/GetBalance"); // 测试环境
+//
+//			method.addRequestHeader("Connection", "close");
+//			method.setRequestHeader("Content-Type",
+//					"application/x-www-form-urlencoded;charset=GBK");
+//
+//			String user = username;
+//			String pwd = MD5.md5UpperCase(password);
+//
+//			NameValuePair[] param = { new NameValuePair("user_id", user),
+//					new NameValuePair("pwd", pwd)};
+//
+//			// 将表单的值放入postMethod中
+//			method.setRequestBody(param);
+//
+//			// 执行postMethod
+//			int statusCode = 0;
+//			try {
+//				statusCode = client.executeMethod(method);
+//			} catch (HttpException e) {
+//				e.printStackTrace();
+//			} catch (IOException e) {
+//				e.printStackTrace();
+//			}
+//			// HttpClient对于要求接受后继服务的请求,像POST和PUT等不能自动处理转发
+//			if (statusCode != HttpStatus.SC_OK) {
+//				System.out.println("Tianjin,Method failed:" + method.getStatusLine());
+//			}
+//
+//			// 读取内容
+//			InputStream resInputStream = null;
+//			try {
+//				resInputStream = method.getResponseBodyAsStream();
+//			} catch (IOException e) {
+//				e.printStackTrace();
+//			}
+//			// 处理内容
+//			BufferedReader reader = new BufferedReader(new InputStreamReader(
+//					resInputStream, "GBK"));
+//			String tempBf = null;
+//			StringBuffer html = new StringBuffer();
+//			while ((tempBf = reader.readLine()) != null) {
+//				html.append(tempBf);
+//			}
+//			result = html.toString();
+//			//System.out.println("result:" + result);
+//		} catch (Exception e) {
+//		}
+//		return result;
+//	}
+//}

+ 6 - 8
huimv-env-input/src/main/resources/application-prod.yml

@@ -27,18 +27,16 @@ spring:
 #    #虚拟host 可以不设置,使用server默认host
 #    virtual-host: /
   rabbitmq:
-    host: 121.36.134.218
+    host: 139.9.172.209
+    #    host: 10.0.0.14
     port: 5672
     username: admin
     password: admin
     #虚拟host 可以不设置,使用server默认host
-    virtual-host: /env
-
-    #确认消息已发送到交换机(Exchange)
-#    publisher-confirms: true #(过时、弃用)
-    publisher-confirm-type: correlated
-    #确认消息已发送到队列(Queue)
-    publisher-returns: true
+    virtual-host: /
+    listener:
+      simple:
+        acknowledge-mode: auto
 
   #redis
   redis:

+ 1 - 0
huimv-env-input/src/main/resources/application.properties

@@ -7,6 +7,7 @@ management.endpoints.web.exposure.include=*
 
 #########################################################
 ###             \uFFFD\uFFFD\uFFFD\uFFFDundertow\u0221\uFFFD\uFFFDtomcat                ###
+
 #########################################################
 # \uFFFD\u01F7\uFFFD\uFFFD undertow \uFFFD\uFFFD\u05BE\uFFFD\uFFFD\u012C\uFFFD\uFFFD\u03AA false
 server.undertow.accesslog.enabled=false