Ver código fonte

新建环境控制平台

zhuoning 2 anos atrás
pai
commit
3e17d50c6b
34 arquivos alterados com 1052 adições e 169 exclusões
  1. 16 1
      huimv-env-platform/huimv-env-common/pom.xml
  2. 28 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvAlarmTypeEntity.java
  3. 52 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvAmmoniaEntity.java
  4. 45 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvDeviceRegisterEntity.java
  5. 52 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvHumiEntity.java
  6. 45 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvPushMessgeEntity.java
  7. 41 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvSprayConfigEntity.java
  8. 48 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvSprayStatusEntity.java
  9. 41 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvSprayTimeEntity.java
  10. 52 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvTempEntity.java
  11. 39 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvTempThresholdEntity.java
  12. 9 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvAlarmTypeEntityRepo.java
  13. 9 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvAmmoniaEntityRepo.java
  14. 18 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvDeviceRegisterEntityRepo.java
  15. 9 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvHumiEntityRepo.java
  16. 9 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvPushMessgeEntityRepo.java
  17. 9 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvSprayConfigEntityRepo.java
  18. 9 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvSprayStatusEntityRepo.java
  19. 9 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvSprayTimeEntityRepo.java
  20. 9 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvTempEntityRepo.java
  21. 9 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvTempThresholdEntityRepo.java
  22. 8 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/IDeviceRegisterService.java
  23. 49 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/impl/DeviceRegisterServiceImpl.java
  24. 26 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/utils/Const.java
  25. 5 1
      huimv-env-platform/huimv-env-input/pom.xml
  26. 5 1
      huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/HuimvEnvInputApplication.java
  27. 64 0
      huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/config/TopicRabbitMQConfig.java
  28. 76 0
      huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/producer/Producer.java
  29. 224 140
      huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java
  30. 0 25
      huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/service/CommandProcessorServiceImpl.java
  31. 32 0
      huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/service/impl/CommandProcessorServiceImpl.java
  32. 1 1
      huimv-env-platform/huimv-env-input/src/main/resources/application-dev.yml
  33. 2 0
      huimv-env-platform/huimv-env-platform.iml
  34. 2 0
      huimv-env-platform/pom.xml

+ 16 - 1
huimv-env-platform/huimv-env-common/pom.xml

@@ -67,7 +67,22 @@
             <groupId>org.junit.platform</groupId>
             <artifactId>junit-platform-commons</artifactId>
         </dependency>
-
+        <!-- JPA -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+        <!-- mysql -->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <!-- lombok -->
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
 </project>

+ 28 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvAlarmTypeEntity.java

@@ -0,0 +1,28 @@
+package com.huimv.env.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Table(name = "env_alarm_type")
+@Entity
+@Data
+@Accessors(chain = true)
+public class EnvAlarmTypeEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "fault_sn")
+    private Integer faultSn;
+
+    @Column(name = "fault_type")
+    private String faultType;
+
+}

+ 52 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvAmmoniaEntity.java

@@ -0,0 +1,52 @@
+package com.huimv.env.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.sql.Timestamp;
+
+@Entity
+@Data
+@Accessors(chain = true)
+@Table(name = "env_ammonia")
+public class EnvAmmoniaEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "device_code")
+    private String deviceCode;
+
+    @Column(name = "sensor_sn")
+    private Integer sensorSn;
+
+    @Column(name = "temp")
+    private BigDecimal temp;
+
+    @Column(name = "ask_time")
+    private String askTime;
+
+    @Column(name = "add_time")
+    private Timestamp addTime;
+
+    @Column(name = "add_date")
+    private Date addDate;
+
+    @Column(name = "pigpen_id")
+    private String pigpenId;
+
+    @Column(name = "unit_id")
+    private String unitId;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+
+}

+ 45 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvDeviceRegisterEntity.java

@@ -0,0 +1,45 @@
+package com.huimv.env.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Date;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "env_device_register")
+@Data
+@Accessors(chain = true)
+public class EnvDeviceRegisterEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "chip_id")
+    private String chipId;
+
+    @Column(name = "device_code")
+    private String deviceCode;
+
+    @Column(name = "add_time")
+    private Timestamp addTime;
+
+    @Column(name = "add_date")
+    private Date addDate;
+
+    @Column(name = "pigpen_id")
+    private String pigpenId;
+
+    @Column(name = "unit_id")
+    private String unitId;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+
+}

+ 52 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvHumiEntity.java

@@ -0,0 +1,52 @@
+package com.huimv.env.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.sql.Timestamp;
+
+@Table(name = "env_humi")
+@Entity
+@Data
+@Accessors(chain = true)
+public class EnvHumiEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "device_code")
+    private String deviceCode;
+
+    @Column(name = "sensor_sn")
+    private Integer sensorSn;
+
+    @Column(name = "temp")
+    private BigDecimal temp;
+
+    @Column(name = "ask_time")
+    private String askTime;
+
+    @Column(name = "add_time")
+    private Timestamp addTime;
+
+    @Column(name = "add_date")
+    private Date addDate;
+
+    @Column(name = "pigpen_id")
+    private String pigpenId;
+
+    @Column(name = "unit_id")
+    private String unitId;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+
+}

+ 45 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvPushMessgeEntity.java

@@ -0,0 +1,45 @@
+package com.huimv.env.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Date;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "env_push_messge")
+@Data
+@Accessors(chain = true)
+public class EnvPushMessgeEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "device_code")
+    private String deviceCode;
+
+    @Column(name = "fault_sn")
+    private Integer faultSn;
+
+    @Column(name = "content")
+    private String content;
+
+    @Column(name = "act_type")
+    private Integer actType;
+
+    @Column(name = "add_time")
+    private Timestamp addTime;
+
+    @Column(name = "add_date")
+    private Date addDate;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+
+}

+ 41 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvSprayConfigEntity.java

@@ -0,0 +1,41 @@
+package com.huimv.env.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+@Entity
+@Data
+@Accessors(chain = true)
+@Table(name = "env_spray_config")
+public class EnvSprayConfigEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "device_code")
+    private String deviceCode;
+
+    @Column(name = "run_mode")
+    private Integer runMode;
+
+    @Column(name = "device_status")
+    private Integer deviceStatus;
+
+    @Column(name = "interval")
+    private Integer interval;
+
+    @Column(name = "set_time")
+    private Timestamp setTime;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+
+}

+ 48 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvSprayStatusEntity.java

@@ -0,0 +1,48 @@
+package com.huimv.env.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Date;
+import java.sql.Timestamp;
+
+@Entity
+@Data
+@Table(name = "env_spray_status")
+@Accessors(chain = true)
+public class EnvSprayStatusEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "device_code")
+    private String deviceCode;
+
+    @Column(name = "device_status")
+    private Integer deviceStatus;
+
+    @Column(name = "ask_time")
+    private String askTime;
+
+    @Column(name = "add_time")
+    private Timestamp addTime;
+
+    @Column(name = "add_date")
+    private Date addDate;
+
+    @Column(name = "pigpen_id")
+    private String pigpenId;
+
+    @Column(name = "unit_id")
+    private String unitId;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+
+}

+ 41 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvSprayTimeEntity.java

@@ -0,0 +1,41 @@
+package com.huimv.env.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+@Entity
+@Data
+@Table(name = "env_spray_time")
+@Accessors(chain = true)
+public class EnvSprayTimeEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "device_code")
+    private String deviceCode;
+
+    @Column(name = "open_time")
+    private Timestamp openTime;
+
+    @Column(name = "duration")
+    private Integer duration;
+
+    @Column(name = "open_mode")
+    private String openMode;
+
+    @Column(name = "used_status")
+    private Integer usedStatus;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+
+}

+ 52 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvTempEntity.java

@@ -0,0 +1,52 @@
+package com.huimv.env.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.sql.Timestamp;
+
+@Entity
+@Data
+@Accessors(chain = true)
+@Table(name = "env_temp")
+public class EnvTempEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "device_code")
+    private String deviceCode;
+
+    @Column(name = "sensor_sn")
+    private Integer sensorSn;
+
+    @Column(name = "temp")
+    private BigDecimal temp;
+
+    @Column(name = "ask_time")
+    private String askTime;
+
+    @Column(name = "add_time")
+    private Timestamp addTime;
+
+    @Column(name = "add_date")
+    private Date addDate;
+
+    @Column(name = "pigpen_id")
+    private String pigpenId;
+
+    @Column(name = "unit_id")
+    private String unitId;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+
+}

+ 39 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvTempThresholdEntity.java

@@ -0,0 +1,39 @@
+package com.huimv.env.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.sql.Timestamp;
+
+@Entity
+@Data
+@Table(name = "env_temp_threshold")
+@Accessors(chain = true)
+public class EnvTempThresholdEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "device_code")
+    private String deviceCode;
+
+    @Column(name = "high_temp")
+    private BigDecimal highTemp;
+
+    @Column(name = "low_temp")
+    private BigDecimal lowTemp;
+
+    @Column(name = "set_time")
+    private Timestamp setTime;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+
+}

+ 9 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvAlarmTypeEntityRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.EnvAlarmTypeEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EnvAlarmTypeEntityRepo extends JpaRepository<EnvAlarmTypeEntity, Integer>, JpaSpecificationExecutor<EnvAlarmTypeEntity> {
+
+}

+ 9 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvAmmoniaEntityRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.EnvAmmoniaEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EnvAmmoniaEntityRepo extends JpaRepository<EnvAmmoniaEntity, Integer>, JpaSpecificationExecutor<EnvAmmoniaEntity> {
+
+}

+ 18 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvDeviceRegisterEntityRepo.java

@@ -0,0 +1,18 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.EnvDeviceRegisterEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+import javax.swing.text.html.Option;
+import java.util.Optional;
+
+public interface EnvDeviceRegisterEntityRepo extends JpaRepository<EnvDeviceRegisterEntity, Integer>, JpaSpecificationExecutor<EnvDeviceRegisterEntity> {
+
+    @Query(nativeQuery = true,value = "SELECT * FROM env_device_register WHERE chip_id=?1")
+    Optional<EnvDeviceRegisterEntity> getDeviceRegisterByChipId(String chipId);
+
+    @Query(nativeQuery = true,value = "SELECT * FROM env_device_register WHERE device_code=?1")
+    Optional<EnvDeviceRegisterEntity> getDeviceRegisterByDeviceCode(String deviceCode);
+}

+ 9 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvHumiEntityRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.EnvHumiEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EnvHumiEntityRepo extends JpaRepository<EnvHumiEntity, Integer>, JpaSpecificationExecutor<EnvHumiEntity> {
+
+}

+ 9 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvPushMessgeEntityRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.EnvPushMessgeEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EnvPushMessgeEntityRepo extends JpaRepository<EnvPushMessgeEntity, Integer>, JpaSpecificationExecutor<EnvPushMessgeEntity> {
+
+}

+ 9 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvSprayConfigEntityRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.EnvSprayConfigEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EnvSprayConfigEntityRepo extends JpaRepository<EnvSprayConfigEntity, Integer>, JpaSpecificationExecutor<EnvSprayConfigEntity> {
+
+}

+ 9 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvSprayStatusEntityRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.EnvSprayStatusEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EnvSprayStatusEntityRepo extends JpaRepository<EnvSprayStatusEntity, Integer>, JpaSpecificationExecutor<EnvSprayStatusEntity> {
+
+}

+ 9 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvSprayTimeEntityRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.EnvSprayTimeEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EnvSprayTimeEntityRepo extends JpaRepository<EnvSprayTimeEntity, Integer>, JpaSpecificationExecutor<EnvSprayTimeEntity> {
+
+}

+ 9 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvTempEntityRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.EnvTempEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EnvTempEntityRepo extends JpaRepository<EnvTempEntity, Integer>, JpaSpecificationExecutor<EnvTempEntity> {
+
+}

+ 9 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvTempThresholdEntityRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.EnvTempThresholdEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EnvTempThresholdEntityRepo extends JpaRepository<EnvTempThresholdEntity, Integer>, JpaSpecificationExecutor<EnvTempThresholdEntity> {
+
+}

+ 8 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/IDeviceRegisterService.java

@@ -0,0 +1,8 @@
+package com.huimv.env.common.service;
+
+public interface IDeviceRegisterService {
+    //
+    String getDeviceCodeByChipId(String chipId);
+    //
+    boolean isExistByDeviceCode(String idCode);
+}

+ 49 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/impl/DeviceRegisterServiceImpl.java

@@ -0,0 +1,49 @@
+package com.huimv.env.common.service.impl;
+
+import com.huimv.env.common.dao.entity.EnvDeviceRegisterEntity;
+import com.huimv.env.common.dao.repo.EnvDeviceRegisterEntityRepo;
+import com.huimv.env.common.service.IDeviceRegisterService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Optional;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Service
+@Slf4j
+public class DeviceRegisterServiceImpl implements IDeviceRegisterService {
+    @Autowired
+    private EnvDeviceRegisterEntityRepo envDeviceRegisterEntityRepo;
+
+    @Override
+    public String getDeviceCodeByChipId(String chipId){
+        //
+        Optional<EnvDeviceRegisterEntity> optional = envDeviceRegisterEntityRepo.getDeviceRegisterByChipId(chipId);
+        if(!optional.isPresent()){
+            log.error("该设备[芯片id:"+chipId+"]未注册.");
+            return null;
+        }else{
+            return optional.get().getDeviceCode();
+        }
+    }
+
+    @Override
+    public boolean isExistByDeviceCode(String deviceCode) {
+        //
+        Optional<EnvDeviceRegisterEntity> optional =  envDeviceRegisterEntityRepo.getDeviceRegisterByDeviceCode(deviceCode);
+        if(!optional.isPresent()){
+            log.error("该设备[设备编码:"+deviceCode+"]未注册.");
+            return false;
+        }else{
+            return true;
+        }
+    }
+}

+ 26 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/utils/Const.java

@@ -0,0 +1,26 @@
+package com.huimv.env.common.utils;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+public class Const {
+    // 温度
+    public final static String ROUTING_KEY_TEMP = "topic.temp.key";
+    public final static String QUEUE_TEMP = "topic.temp.queue";
+    public final static String EXCHANGE_TEMP = "topic.temp.exchange";
+
+    // 湿度
+    public final static String ROUTING_KEY_HUMI = "topic.humi.key";
+    public final static String QUEUE_HUMI = "topic.humi.queue";
+    public final static String EXCHANGE_HUMI = "topic.humi.exchange";
+
+    // 氨气
+    public final static String ROUTING_KEY_AMMONIA = "topic.ammonia.key";
+    public final static String QUEUE_AMMONIA = "topic.ammonia.queue";
+    public final static String EXCHANGE_AMMONIA = "topic.ammonia.exchange";
+}

+ 5 - 1
huimv-env-platform/huimv-env-input/pom.xml

@@ -40,7 +40,6 @@
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
-            <version>6.0.6</version>
         </dependency>
         <!--rabbitmq-->
         <dependency>
@@ -84,6 +83,11 @@
             <groupId>cn.hutool</groupId>
             <artifactId>hutool-all</artifactId>
         </dependency>
+        <!-- 一方包统一版本管理 -->
+        <dependency>
+            <groupId>com.huimv</groupId>
+            <artifactId>huimv-env-common</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 5 - 1
huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/HuimvEnvInputApplication.java

@@ -3,9 +3,11 @@ package com.huimv.env.input;
 import com.huimv.env.input.server.EnvInputServer;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.ComponentScans;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 
 /**
  * @Project : huimv.shiwan
@@ -15,7 +17,9 @@ import org.springframework.context.annotation.ComponentScans;
  * @Author : ZhuoNing
  * @Create : 2020-12-25
  **/
-@ComponentScans({@ComponentScan("com.huimv.env.common.utils")})
+@ComponentScans({@ComponentScan("com.huimv.env.common.utils"),@ComponentScan("com.huimv.env.common.service")})
+@EntityScan(value = "com.huimv.env.common.dao.entity")
+@EnableJpaRepositories(basePackages = "com.huimv.env.common.dao.repo")
 @SpringBootApplication
 public class HuimvEnvInputApplication {
     public static void main(String[] args) throws InterruptedException {

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

@@ -0,0 +1,64 @@
+package com.huimv.env.input.config;
+
+import com.huimv.env.common.utils.Const;
+import org.springframework.amqp.core.Binding;
+import org.springframework.amqp.core.BindingBuilder;
+import org.springframework.amqp.core.Queue;
+import org.springframework.amqp.core.TopicExchange;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Configuration
+public class TopicRabbitMQConfig {
+    //原始数据队列
+    @Bean
+    public Queue tempQueue() {
+        return new Queue(Const.QUEUE_TEMP);
+    }
+    @Bean
+    public Queue humiQueue() {
+        return new Queue(Const.QUEUE_HUMI);
+    }
+    @Bean
+    public Queue ammoniaQueue() {
+        return new Queue(Const.QUEUE_AMMONIA);
+    }
+
+
+    //原始交换机
+    @Bean
+    TopicExchange tempExchange() {
+        return new TopicExchange(Const.EXCHANGE_TEMP);
+    }
+    @Bean
+    TopicExchange humiExchange() {
+        return new TopicExchange(Const.EXCHANGE_HUMI);
+    }
+    @Bean
+    TopicExchange ammoniaExchange() {
+        return new TopicExchange(Const.EXCHANGE_AMMONIA);
+    }
+
+    //绑定关系
+    @Bean
+    Binding bindingTempExchangeMessage() {
+        return BindingBuilder.bind(tempQueue()).to(tempExchange()).with(Const.ROUTING_KEY_TEMP);
+    }
+    @Bean
+    Binding bindingHumiExchangeMessage() {
+        return BindingBuilder.bind(humiQueue()).to(humiExchange()).with(Const.ROUTING_KEY_HUMI);
+    }
+    @Bean
+    Binding bindingAmmoniaExchangeMessage() {
+        return BindingBuilder.bind(ammoniaQueue()).to(ammoniaExchange()).with(Const.ROUTING_KEY_AMMONIA);
+    }
+
+}

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

@@ -0,0 +1,76 @@
+package com.huimv.env.input.producer;
+
+import com.huimv.env.common.utils.Const;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Component
+@Slf4j
+public class Producer {
+    @Autowired
+    RabbitTemplate rabbitTemplate;  //使用RabbitTemplate,这提供了接收/发送等等方法
+
+    /**
+     * @Method      : sendTempAskToMQ
+     * @Description : 
+     * @Params      : [askText]
+     * @Return      : java.lang.String
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2022/8/17       
+     * @Time        : 19:29
+     */
+    public String sendTempAskToMQ(String askText){
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_TEMP, Const.ROUTING_KEY_TEMP, map);
+        return "ok";
+    }
+
+    /**
+     * @Method      : sendHumiAskToMQ
+     * @Description : 
+     * @Params      : [askText]
+     * @Return      : java.lang.String
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2022/8/17       
+     * @Time        : 19:13
+     */
+    public String sendHumiAskToMQ(String askText){
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_HUMI, Const.ROUTING_KEY_HUMI, map);
+        return "ok";
+    }
+
+    /**
+     * @Method      : sendAmmoniaAskToMQ
+     * @Description : 
+     * @Params      : [askText]
+     * @Return      : java.lang.String
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2022/8/17       
+     * @Time        : 19:13
+     */
+    public String sendAmmoniaAskToMQ(String askText){
+        Map map = new HashMap();
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_AMMONIA, Const.ROUTING_KEY_AMMONIA, map);
+        return "ok";
+    }
+}

+ 224 - 140
huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java

@@ -2,9 +2,9 @@ package com.huimv.env.input.server;
 
 import com.alibaba.fastjson.JSONArray;
 import com.huimv.env.common.utils.RegexUtil;
+import com.huimv.env.input.producer.Producer;
 import com.huimv.env.input.service.ICommandProcessorService;
 import com.huimv.env.input.utils.DateUtil2;
-import freemarker.template.utility.DateUtil;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 import io.netty.channel.ChannelHandler;
@@ -44,6 +44,8 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     private ICommandProcessorService cmdProService;
     @Autowired
     private DateUtil2 dateUtil;
+    @Autowired
+    private Producer producer;
     private StringBuilder askTextSb = null;
 
     //
@@ -132,150 +134,232 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
         String cmd = dataArray[2];
         Map map = new HashMap();
         map.put("askText", askText);
-        if (cmdHeader.trim().equalsIgnoreCase("hm")) {
-            if (cmd.trim().equalsIgnoreCase("1")) {
-                System.out.println("==>获取远程设备编码请求:" + askText.trim());
-//                //{读取设备编码}
-                String deviceCode = cmdProService.getDeviceCodeByChipId(idCode);
-                log.info("获取远程设备编码请求,芯片id>>" + idCode + " ,deviceCode>>" + deviceCode);
-                if (deviceCode != null) {
-                    String answerText = "hm+1+0+" + deviceCode + "+123+8+end";
-                    log.info("<<获取远程设备编码请求-应答数据:" + answerText);
-                    //{应答指令}
-                    answerCmd(answerText, ctx);
-                } else {
-                    log.error("该设备未注册,已舍弃请求.");
-                }
-            } else if (cmd.trim().equalsIgnoreCase("2")) {
-                System.out.println("==>时间同步请求:" + askText);
-                if (cmdProService.isEffectiveDevice(idCode)) {
-                    //时间同步请求
-                    String answerText = "hm+2+" + dateUtil.getNowText() + "+4+end";
-                    log.info(">>时间同步请求-应答数据>>" + answerText);
-                    answerCmd(answerText, ctx);
-                } else {
-                    System.out.println("##时间同步请求-未注册设备 idCode=" + idCode);
-                }
-            } else if (cmd.trim().equalsIgnoreCase("3")) {
-                System.out.println("==>温度度上传请求 askText>>" + askText);
-                if (cmdProService.isEffectiveDevice(idCode)) {
-                    //温度度上传请求
-                    String answerText = "hm+3+0+7+end";
-                    log.info(">>温度度上传请求-应答数据>>" + answerText);
-                    answerCmd(answerText, ctx);
-                } else {
-                    System.out.println("##温度度上传请求-未注册设备 idCode=" + idCode);
-                }
-            } else if (cmd.trim().equalsIgnoreCase("4")) {
-                System.out.println("==>湿度度上传请求 askText>>" + askText);
-                if (cmdProService.isEffectiveDevice(idCode)) {
-                    //湿度度上传请求
-                    String answerText = "hm+4+0+8+end";
-                    log.info(">>湿度度上传请求-应答数据>>" + answerText);
-                    answerCmd(answerText, ctx);
-                } else {
-                    System.out.println("##湿度度上传请求-未注册设备 idCode=" + idCode);
-                }
-            } else if (cmd.trim().equalsIgnoreCase("5")) {
-                System.out.println("==>氨气度上传请求 askText>>" + askText);
-                if (cmdProService.isEffectiveDevice(idCode)) {
-                    //氨气度上传请求
-                    String answerText = "hm+5+0+8+end";
-                    log.info(">>氨气度上传请求-应答数据>>" + answerText);
-                    answerCmd(answerText, ctx);
-                } else {
-                    System.out.println("##氨气度上传请求-未注册设备 idCode=" + idCode);
-                }
-            } else if (cmd.trim().equalsIgnoreCase("6")) {
-                System.out.println("==>获取喷雾除臭配置请求 askText>>" + askText);
-                if (cmdProService.isEffectiveDevice(idCode)) {
-                    //获取喷雾除臭配置请求
-                    String answerText = "hm+158+6+1+1+(201708080101,60,10,10)(201708080202,60,10,10)(201708080303,60,10,10)(201708080404,60,10,10)...+60+201702081523+6+end";
-                    log.info(">>获取喷雾除臭配置请求-应答数据>>" + answerText);
-                    answerCmd(answerText, ctx);
-                } else {
-                    System.out.println("##获取喷雾除臭配置请求-未注册设备 idCode=" + idCode);
-                }
-            } else if (cmd.trim().equalsIgnoreCase("7")) {
-                System.out.println("==>上报喷雾除臭状态请求 askText>>" + askText);
-                //上报喷雾除臭状态请求
-                if (cmdProService.isEffectiveDevice(idCode)) {
-                    String answerText = "hm+158+7+6+end";
-                    log.info(">>上报喷雾除臭状态请求-应答数据>>" + answerText);
-                    answerCmd(answerText, ctx);
-                } else {
-                    System.out.println("##上报喷雾除臭状态请求-未注册设备 idCode=" + idCode);
-                }
-            } else if (cmd.trim().equalsIgnoreCase("14")) {
-                //获取报警使能请求
-                System.out.println("==>获取报警使能请求 askText>>" + askText);
-                if (cmdProService.isEffectiveDevice(idCode)) {
-                    String answerText = "hm+158+14+1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)+0+4+end";
-                    log.info(">>获取报警使能请求-应答数据>>" + answerText);
-                    answerCmd(answerText, ctx);
-                } else {
-                    System.out.println("##获取报警使能请求-未注册设备 idCode=" + idCode);
-                }
-            } else if (cmd.trim().equalsIgnoreCase("15")) {
-                //短信发送请求
-                System.out.println("==>短信发送请求 askText>>" + askText);
-                if (cmdProService.isEffectiveDevice(idCode)) {
-                    String answerText = "hm+15+0+2+end";
-                    log.info(">>>短信发送请求-应答数据>>" + answerText);
-                    answerCmd(answerText, ctx);
-                } else {
-                    System.out.println("##>短信发送请求-未注册设备 idCode=" + idCode);
-                }
-            } else if (cmd.trim().equalsIgnoreCase("16")) {
-                System.out.println("==>声光报警短信发送请求 askText>>" + askText);
-                if (cmdProService.isEffectiveDevice(idCode)) {
-                    //声光报警短信发送请求
-                    String answerText = "hm+16+0+2+end";
-                    log.info(">>声光报警短信发送请求-应答数据>>" + answerText);
-                    answerCmd(answerText, ctx);
-                } else {
-                    System.out.println("##声光报警短信发送请求-未注册设备 idCode=" + idCode);
-                }
-            } else if (cmd.trim().equalsIgnoreCase("17")) {
-                System.out.println("==>报警器打电话请求 askText>>" + askText);
-                if (cmdProService.isEffectiveDevice(idCode)) {
-                    //报警器打电话请求
-                    String answerText = "hm+17+0+2+end";
-                    log.info(">>报警器打电话请求-应答数据>>" + answerText);
-                    answerCmd(answerText, ctx);
-                } else {
-                    System.out.println("##报警器打电话请求-未注册设备 idCode=" + idCode);
-                }
-            } else if (cmd.trim().equalsIgnoreCase("18")) {
-                System.out.println("==>高温,低温报警参数请求 askText>>" + askText);
-                if (cmdProService.isEffectiveDevice(idCode)) {
-                    //高温,低温报警参数请求
-                    String answerText = "hm+158+18+265+12+6+end";
-                    log.info(">>高温,低温报警参数请求-应答数据>>" + answerText);
-                    answerCmd(answerText, ctx);
-                } else {
-                    System.out.println("##高温,低温报警参数请求-未注册设备 idCode=" + idCode);
-                }
-            } else if (cmd.trim().equalsIgnoreCase("19")) {
-                System.out.println("==>平台消息推送请求 askText>>" + askText);
-                if (cmdProService.isEffectiveDevice(idCode)) {
-                    //平台消息推送请求
-                    String answerText = "hm+19+0+2+end";
-                    log.info(">>平台消息推送请求-应答数据>>" + answerText);
-                    answerCmd(answerText, ctx);
-                } else {
-                    System.out.println("##平台消息推送请求-未注册设备 idCode=" + idCode);
-                }
-            } else {
+        switch (cmd) {
+            case "1":
+                //获取远程设备编码
+                getDeviceCode(askText, idCode, ctx);
+                break;
+            case "2":
+                //同步时间
+                getServerTime(askText, idCode, ctx);
+                break;
+            case "3":
+                //温度上传数据
+                uploadTemp(askText, idCode, ctx);
+                break;
+            case "4":
+                //上传湿度数据
+                uploadHumi(askText, idCode, ctx);
+                break;
+            case "5":
+                //氨气数据上传
+                uploadAmmonia(askText, idCode, ctx);
+                break;
+            case "6":
+                //获取喷雾除臭配置
+                getSprayConfig(askText, idCode, ctx);
+                break;
+            case "7":
+                //上报喷雾除臭状态
+                uploadSprayEquipStatus(askText, idCode, ctx);
+                break;
+            case "14":
+                //获取报警使能
+                getAlarmConfig(askText, idCode, ctx);
+                break;
+            case "15":
+                //短信发送
+                uploadSendMessage(askText, idCode, ctx);
+                break;
+            case "16":
+                //声光报警短信
+                uploadAudibleAndVisualAlarmMessage(askText, idCode, ctx);
+                break;
+            case "17":
+                //报警器打电话
+                uploadTelephoneAlarm(askText, idCode, ctx);
+                break;
+            case "18":
+                //高温,低温报警参数请求
+                getTempThresholdConfig(askText, idCode, ctx);
+                break;
+            case "19":
+                //平台消息推送
+                uploadPlatformMessagePushInfo(askText, idCode, ctx);
+                break;
+            default:
                 System.out.println("==>未知命令");
                 log.error(">>当前数据为非法数据-未知命令>>" + askText);
-            }
-        } else {
-            System.out.println("==>未知命令头");
-            log.error("##当前请求数据为非法数据-未知命令头>>" + askText);
         }
     }
 
+    //平台消息推送请求
+    private void uploadPlatformMessagePushInfo(String askText, String idCode, ChannelHandlerContext ctx) {
+        System.out.println("==>平台消息推送请求 askText>>" + askText);
+        if (!cmdProService.isEffectiveDevice(idCode)) {
+            System.out.println("##平台消息推送请求-未注册设备 idCode=" + idCode);
+            return;
+        }
+        String answerText = "hm+19+0+2+end";
+        log.info(">>平台消息推送请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+    }
+
+    //高温,低温报警参数请求
+    private void getTempThresholdConfig(String askText, String idCode, ChannelHandlerContext ctx) {
+        System.out.println("==>高温,低温报警参数请求 askText>>" + askText);
+        if (!cmdProService.isEffectiveDevice(idCode)) {
+            System.out.println("##高温,低温报警参数请求-未注册设备 idCode=" + idCode);
+            return;
+        }
+        String answerText = "hm+158+18+265+12+6+end";
+        log.info(">>高温,低温报警参数请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+    }
+
+    //报警器打电话请求
+    private void uploadTelephoneAlarm(String askText, String idCode, ChannelHandlerContext ctx) {
+        System.out.println("==>报警器打电话请求 askText>>" + askText);
+        if (!cmdProService.isEffectiveDevice(idCode)) {
+            System.out.println("##报警器打电话请求-未注册设备 idCode=" + idCode);
+            return;
+        }
+        String answerText = "hm+17+0+2+end";
+        log.info(">>报警器打电话请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+    }
+
+    //声光报警短信发送请求
+    private void uploadAudibleAndVisualAlarmMessage(String askText, String idCode, ChannelHandlerContext ctx) {
+        System.out.println("==>声光报警短信发送请求 askText>>" + askText);
+        if (!cmdProService.isEffectiveDevice(idCode)) {
+            System.out.println("##声光报警短信发送请求-未注册设备 idCode=" + idCode);
+            return;
+        }
+        String answerText = "hm+16+0+2+end";
+        log.info(">>声光报警短信发送请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+    }
+
+    //短信发送请求
+    private void uploadSendMessage(String askText, String idCode, ChannelHandlerContext ctx) {
+        System.out.println("==>短信发送请求 askText>>" + askText);
+        if (!cmdProService.isEffectiveDevice(idCode)) {
+            System.out.println("##>短信发送请求-未注册设备 idCode=" + idCode);
+            return;
+        }
+        String answerText = "hm+15+0+2+end";
+        log.info(">>>短信发送请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+    }
+
+    //获取报警使能请求
+    private void getAlarmConfig(String askText, String idCode, ChannelHandlerContext ctx) {
+        System.out.println("==>获取报警使能请求 askText>>" + askText);
+        if (!cmdProService.isEffectiveDevice(idCode)) {
+            System.out.println("##获取报警使能请求-未注册设备 idCode=" + idCode);
+            return;
+        }
+        String answerText = "hm+158+14+1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)+0+4+end";
+        log.info(">>获取报警使能请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+    }
+
+    //上报喷雾除臭状态请求
+    private void uploadSprayEquipStatus(String askText, String idCode, ChannelHandlerContext ctx) {
+        System.out.println("==>上报喷雾除臭状态请求 askText>>" + askText);
+        if (!cmdProService.isEffectiveDevice(idCode)) {
+            System.out.println("##上报喷雾除臭状态请求-未注册设备 idCode=" + idCode);
+            return;
+        }
+        String answerText = "hm+158+7+6+end";
+        log.info(">>上报喷雾除臭状态请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+    }
+
+    //获取喷雾除臭配置请求
+    private void getSprayConfig(String askText, String idCode, ChannelHandlerContext ctx) {
+        System.out.println("==>获取喷雾除臭配置请求 askText>>" + askText);
+        if (!cmdProService.isEffectiveDevice(idCode)) {
+            System.out.println("##获取喷雾除臭配置请求-未注册设备 idCode=" + idCode);
+            return;
+        }
+        String answerText = "hm+158+6+1+1+(201708080101,60,10,10)(201708080202,60,10,10)(201708080303,60,10,10)(201708080404,60,10,10)...+60+201702081523+6+end";
+        log.info(">>获取喷雾除臭配置请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+    }
+
+    //氨气度上传请求
+    private void uploadAmmonia(String askText, String idCode, ChannelHandlerContext ctx) {
+        System.out.println("==>氨气度上传请求 askText>>" + askText);
+        if (!cmdProService.isEffectiveDevice(idCode)) {
+            System.out.println("##氨气度上传请求-未注册设备 idCode=" + idCode);
+            return;
+        }
+        String answerText = "hm+5+0+8+end";
+        log.info(">>氨气度上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送氨气请求到消息队列
+        producer.sendAmmoniaAskToMQ(askText);
+    }
+
+    //湿度度上传请求
+    private void uploadHumi(String askText, String idCode, ChannelHandlerContext ctx) {
+        System.out.println("==>湿度度上传请求 askText>>" + askText);
+        if (!cmdProService.isEffectiveDevice(idCode)) {
+            System.out.println("##湿度度上传请求-未注册设备 idCode=" + idCode);
+            return;
+        }
+        String answerText = "hm+4+0+8+end";
+        log.info(">>湿度度上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送湿度请求到消息队列
+        producer.sendHumiAskToMQ(askText);
+    }
+
+    // 温度度上传
+    private void uploadTemp(String askText, String deviceCode, ChannelHandlerContext ctx) {
+        System.out.println("==>温度度上传请求 askText>>" + askText);
+        if (!cmdProService.isEffectiveDevice(deviceCode)) {
+            System.out.println("##温度度上传请求-未注册设备 deviceCode=" + deviceCode);
+            return;
+        }
+        //温度度上传请求
+        String answerText = "hm+3+0+7+end";
+        log.info(">>温度度上传请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+        //发送温度请求到消息队列
+        producer.sendTempAskToMQ(askText);
+    }
+
+    //时间同步请求
+    private void getServerTime(String askText, String deviceCode, ChannelHandlerContext ctx) throws ParseException {
+        System.out.println("==>时间同步请求:" + askText);
+        if (!cmdProService.isEffectiveDevice(deviceCode)) {
+            System.out.println("##时间同步请求-未注册设备 idCode=" + deviceCode);
+            return;
+        }
+        String answerText = "hm+2+" + dateUtil.getNowText() + "+0+4+end";
+        log.info(">>时间同步请求-应答数据>>" + answerText);
+        answerCmd(answerText, ctx);
+    }
+
+    //获取远程设备编码
+    private void getDeviceCode(String askText, String idCode, ChannelHandlerContext ctx) {
+        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 + "+123+8+end";
+        log.info("<<获取远程设备编码请求-应答数据:" + answerText);
+        //{应答指令}
+        answerCmd(answerText, ctx);
+    }
+
     public void answerCmd(String answerText, ChannelHandlerContext ctx) {
         ctx.writeAndFlush(Unpooled.copiedBuffer(answerText.getBytes()));
     }

+ 0 - 25
huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/service/CommandProcessorServiceImpl.java

@@ -1,25 +0,0 @@
-package com.huimv.env.input.service;
-
-import org.springframework.stereotype.Service;
-
-/**
- * @Project : huimv.shiwan
- * @Package : com.huimv.biosafety.uface.controller
- * @Description : TODO
- * @Version : 1.0
- * @Author : ZhuoNing
- * @Create : 2020-12-25
- **/
-@Service
-public class CommandProcessorServiceImpl implements  ICommandProcessorService {
-
-    @Override
-    public String getDeviceCodeByChipId(String idCode) {
-        return "115";
-    }
-
-    @Override
-    public boolean isEffectiveDevice(String idCode) {
-        return true;
-    }
-}

+ 32 - 0
huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/service/impl/CommandProcessorServiceImpl.java

@@ -0,0 +1,32 @@
+package com.huimv.env.input.service.impl;
+
+import com.huimv.env.input.service.ICommandProcessorService;
+import com.huimv.env.common.service.IDeviceRegisterService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Service
+public class CommandProcessorServiceImpl implements ICommandProcessorService {
+
+    @Autowired
+    private IDeviceRegisterService iDeviceRegisterService;
+
+    @Override
+    public String getDeviceCodeByChipId(String idCode) {
+        //--{读取设备编码}
+        return iDeviceRegisterService.getDeviceCodeByChipId(idCode);
+    }
+
+    @Override
+    public boolean isEffectiveDevice(String idCode) {
+        return iDeviceRegisterService.isExistByDeviceCode(idCode);
+    }
+}

+ 1 - 1
huimv-env-platform/huimv-env-input/src/main/resources/application-dev.yml

@@ -32,7 +32,7 @@ spring:
     username: admin
     password: admin
     #虚拟host 可以不设置,使用server默认host
-    virtual-host: /
+    virtual-host: /env
 
     #确认消息已发送到交换机(Exchange)
 #    publisher-confirms: true #(过时、弃用)

+ 2 - 0
huimv-env-platform/huimv-env-platform.iml

@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4" />

+ 2 - 0
huimv-env-platform/pom.xml

@@ -24,6 +24,7 @@
         <java.version>1.8</java.version>
         <maven.compile>1.8</maven.compile>
         <druid.version>1.1.14</druid.version>
+        <mysql.version>6.0.6</mysql.version>
         <junit.version>4.13.2</junit.version>
         <hutool.version>5.8.1</hutool.version>
         <velocity.version>2.0</velocity.version>
@@ -54,6 +55,7 @@
             <dependency>
                 <groupId>mysql</groupId>
                 <artifactId>mysql-connector-java</artifactId>
+                <version>${mysql.version}</version>
             </dependency>
             <!--hutool-->
             <dependency>