zhuoning 3 anos atrás
pai
commit
5ccc86aae3
34 arquivos alterados com 926 adições e 25 exclusões
  1. 68 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagAbnormalDeviceCountEntity.java
  2. 69 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagAbnormalDeviceDetailEntity.java
  3. 80 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagAbnormalDeviceTimesEntity.java
  4. 68 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagAbnormalEartagCountEntity.java
  5. 69 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagAbnormalEartagDetailEntity.java
  6. 80 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagAbnormalEartagTimesEntity.java
  7. 79 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagConfigPropertiesEntity.java
  8. 12 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagEartagRegisterEntity.java
  9. 9 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagAbnormalDeviceCountRepo.java
  10. 9 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagAbnormalDeviceDetailRepo.java
  11. 9 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagAbnormalDeviceTimesRepo.java
  12. 9 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagAbnormalEartagCountRepo.java
  13. 9 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagAbnormalEartagDetailRepo.java
  14. 9 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagAbnormalEartagTimesRepo.java
  15. 13 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagConfigPropertiesRepo.java
  16. 7 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/utils/BizConst.java
  17. 3 0
      huimv-eartag2-platform/huimv-eartag2-device/src/main/java/com/huimv/eartag2/device/service/ICacheService.java
  18. 7 0
      huimv-eartag2-platform/huimv-eartag2-device/src/main/java/com/huimv/eartag2/device/service/impl/CacheServiceImpl.java
  19. 54 2
      huimv-eartag2-platform/huimv-eartag2-device/src/main/java/com/huimv/eartag2/device/service/impl/DeviceServiceImpl.java
  20. 1 1
      huimv-eartag2-platform/huimv-eartag2-device/src/main/java/com/huimv/eartag2/device/utils/MathUtil.java
  21. 1 1
      huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/listener/EartagListener.java
  22. 9 4
      huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/EartagServiceImpl.java
  23. 14 13
      huimv-eartag2-platform/huimv-eartag2-input/src/main/java/com/huimv/eartag2/server/EartagServerHandler2.java
  24. 2 2
      huimv-eartag2-platform/huimv-eartag2-input/src/main/resources/application.properties
  25. 33 1
      huimv-eartag2-platform/huimv-eartag2-manage/pom.xml
  26. 31 0
      huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/config/TopicRabbitMQConfig.java
  27. 14 0
      huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/controller/TestController.java
  28. 5 0
      huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/producer/ManageProducer.java
  29. 2 0
      huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/service/impl/DeviceRegisterServiceImpl.java
  30. 44 0
      huimv-eartag2-platform/huimv-eartag2-manage/src/main/resources/application-dev2.yml
  31. 2 1
      huimv-eartag2-platform/huimv-eartag2-manage/src/main/resources/application.properties
  32. 62 0
      huimv-eartag2-platform/huimv-eartag2-manage/src/test/java/com/huimv/eartag2/manage/utils/Client.java
  33. 9 0
      huimv-eartag2-platform/huimv-eartag2-manage/src/test/java/com/huimv/eartag2/manage/utils/DeviceCodeTest.java
  34. 34 0
      huimv-eartag2-platform/huimv-eartag2-manage/src/test/java/com/huimv/eartag2/manage/utils/RabbitMQTest.java

+ 68 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagAbnormalDeviceCountEntity.java

@@ -0,0 +1,68 @@
+package com.huimv.eartag2.common.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Date;
+
+@Entity
+@Table(name = "eartag_abnormal_device_count")
+public class EartagAbnormalDeviceCountEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "farm_id", nullable = false)
+    private String farmId;
+
+    @Column(name = "device_count", nullable = false)
+    private String deviceCount;
+
+    @Column(name = "create_date", nullable = false)
+    private Date createDate;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setFarmId(String farmId) {
+        this.farmId = farmId;
+    }
+
+    public String getFarmId() {
+        return farmId;
+    }
+
+    public void setDeviceCount(String deviceCount) {
+        this.deviceCount = deviceCount;
+    }
+
+    public String getDeviceCount() {
+        return deviceCount;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    @Override
+    public String toString() {
+        return "EartagAbnormalDeviceCountEntity{" +
+                "id=" + id + '\'' +
+                "farmId=" + farmId + '\'' +
+                "deviceCount=" + deviceCount + '\'' +
+                "createDate=" + createDate + '\'' +
+                '}';
+    }
+}

+ 69 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagAbnormalDeviceDetailEntity.java

@@ -0,0 +1,69 @@
+package com.huimv.eartag2.common.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Date;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "eartag_abnormal_device_detail")
+public class EartagAbnormalDeviceDetailEntity 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", nullable = false)
+    private String deviceCode;
+
+    @Column(name = "add_time", nullable = false)
+    private Timestamp addTime;
+
+    @Column(name = "create_date", nullable = false)
+    private Date createDate;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setDeviceCode(String deviceCode) {
+        this.deviceCode = deviceCode;
+    }
+
+    public String getDeviceCode() {
+        return deviceCode;
+    }
+
+    public void setAddTime(Timestamp addTime) {
+        this.addTime = addTime;
+    }
+
+    public Timestamp getAddTime() {
+        return addTime;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    @Override
+    public String toString() {
+        return "EartagAbnormalDeviceDetailEntity{" +
+                "id=" + id + '\'' +
+                "deviceCode=" + deviceCode + '\'' +
+                "addTime=" + addTime + '\'' +
+                "createDate=" + createDate + '\'' +
+                '}';
+    }
+}

+ 80 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagAbnormalDeviceTimesEntity.java

@@ -0,0 +1,80 @@
+package com.huimv.eartag2.common.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Date;
+
+@Entity
+@Table(name = "eartag_abnormal_device_times")
+public class EartagAbnormalDeviceTimesEntity 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", nullable = false)
+    private String deviceCode;
+
+    @Column(name = "times", nullable = false)
+    private Integer times;
+
+    @Column(name = "create_date", nullable = false)
+    private Date createDate;
+
+    @Column(name = "farmId", nullable = false)
+    private String farmId;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setDeviceCode(String deviceCode) {
+        this.deviceCode = deviceCode;
+    }
+
+    public String getDeviceCode() {
+        return deviceCode;
+    }
+
+    public void setTimes(Integer times) {
+        this.times = times;
+    }
+
+    public Integer getTimes() {
+        return times;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    public void setFarmId(String farmId) {
+        this.farmId = farmId;
+    }
+
+    public String getFarmId() {
+        return farmId;
+    }
+
+    @Override
+    public String toString() {
+        return "EartagAbnormalDeviceTimesEntity{" +
+                "id=" + id + '\'' +
+                "deviceCode=" + deviceCode + '\'' +
+                "times=" + times + '\'' +
+                "createDate=" + createDate + '\'' +
+                "farmId=" + farmId + '\'' +
+                '}';
+    }
+}

+ 68 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagAbnormalEartagCountEntity.java

@@ -0,0 +1,68 @@
+package com.huimv.eartag2.common.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Date;
+
+@Entity
+@Table(name = "eartag_abnormal_eartag_count")
+public class EartagAbnormalEartagCountEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "farm_id", nullable = false)
+    private String farmId;
+
+    @Column(name = "eartag_count", nullable = false)
+    private String eartagCount;
+
+    @Column(name = "create_date", nullable = false)
+    private Date createDate;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setFarmId(String farmId) {
+        this.farmId = farmId;
+    }
+
+    public String getFarmId() {
+        return farmId;
+    }
+
+    public void setEartagCount(String eartagCount) {
+        this.eartagCount = eartagCount;
+    }
+
+    public String getEartagCount() {
+        return eartagCount;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    @Override
+    public String toString() {
+        return "EartagAbnormalEartagCountEntity{" +
+                "id=" + id + '\'' +
+                "farmId=" + farmId + '\'' +
+                "eartagCount=" + eartagCount + '\'' +
+                "createDate=" + createDate + '\'' +
+                '}';
+    }
+}

+ 69 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagAbnormalEartagDetailEntity.java

@@ -0,0 +1,69 @@
+package com.huimv.eartag2.common.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Date;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "eartag_abnormal_eartag_detail")
+public class EartagAbnormalEartagDetailEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "earmark", nullable = false)
+    private String earmark;
+
+    @Column(name = "add_time", nullable = false)
+    private Timestamp addTime;
+
+    @Column(name = "create_date", nullable = false)
+    private Date createDate;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setEarmark(String earmark) {
+        this.earmark = earmark;
+    }
+
+    public String getEarmark() {
+        return earmark;
+    }
+
+    public void setAddTime(Timestamp addTime) {
+        this.addTime = addTime;
+    }
+
+    public Timestamp getAddTime() {
+        return addTime;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    @Override
+    public String toString() {
+        return "EartagAbnormalEartagDetailEntity{" +
+                "id=" + id + '\'' +
+                "earmark=" + earmark + '\'' +
+                "addTime=" + addTime + '\'' +
+                "createDate=" + createDate + '\'' +
+                '}';
+    }
+}

+ 80 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagAbnormalEartagTimesEntity.java

@@ -0,0 +1,80 @@
+package com.huimv.eartag2.common.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Date;
+
+@Entity
+@Table(name = "eartag_abnormal_eartag_times")
+public class EartagAbnormalEartagTimesEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "earmark", nullable = false)
+    private String earmark;
+
+    @Column(name = "times", nullable = false)
+    private Integer times;
+
+    @Column(name = "create_date", nullable = false)
+    private Date createDate;
+
+    @Column(name = "farmId", nullable = false)
+    private String farmId;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setEarmark(String earmark) {
+        this.earmark = earmark;
+    }
+
+    public String getEarmark() {
+        return earmark;
+    }
+
+    public void setTimes(Integer times) {
+        this.times = times;
+    }
+
+    public Integer getTimes() {
+        return times;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    public void setFarmId(String farmId) {
+        this.farmId = farmId;
+    }
+
+    public String getFarmId() {
+        return farmId;
+    }
+
+    @Override
+    public String toString() {
+        return "EartagAbnormalEartagTimesEntity{" +
+                "id=" + id + '\'' +
+                "earmark=" + earmark + '\'' +
+                "times=" + times + '\'' +
+                "createDate=" + createDate + '\'' +
+                "farmId=" + farmId + '\'' +
+                '}';
+    }
+}

+ 79 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagConfigPropertiesEntity.java

@@ -0,0 +1,79 @@
+package com.huimv.eartag2.common.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "eartag_config_properties")
+public class EartagConfigPropertiesEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "pro_key")
+    private String proKey;
+
+    @Column(name = "pro_val1")
+    private String proVal1;
+
+    @Column(name = "pro_sort", nullable = false)
+    private String proSort;
+
+    @Column(name = "pro_val2")
+    private String proVal2;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setProKey(String proKey) {
+        this.proKey = proKey;
+    }
+
+    public String getProKey() {
+        return proKey;
+    }
+
+    public void setProVal1(String proVal1) {
+        this.proVal1 = proVal1;
+    }
+
+    public String getProVal1() {
+        return proVal1;
+    }
+
+    public void setProSort(String proSort) {
+        this.proSort = proSort;
+    }
+
+    public String getProSort() {
+        return proSort;
+    }
+
+    public void setProVal2(String proVal2) {
+        this.proVal2 = proVal2;
+    }
+
+    public String getProVal2() {
+        return proVal2;
+    }
+
+    @Override
+    public String toString() {
+        return "EartagConfigPropertiesEntity{" +
+                "id=" + id + '\'' +
+                "proKey=" + proKey + '\'' +
+                "proVal1=" + proVal1 + '\'' +
+                "proSort=" + proSort + '\'' +
+                "proVal2=" + proVal2 + '\'' +
+                '}';
+    }
+}

+ 12 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/entity/EartagEartagRegisterEntity.java

@@ -58,6 +58,9 @@ public class EartagEartagRegisterEntity implements Serializable {
     @Column(name = "create_date")
     private Date createDate;
 
+    @Column(name = "bat")
+    private Integer bat;
+
     public void setId(Integer id) {
         this.id = id;
     }
@@ -178,6 +181,14 @@ public class EartagEartagRegisterEntity implements Serializable {
         return createDate;
     }
 
+    public void setBat(Integer bat) {
+        this.bat = bat;
+    }
+
+    public Integer getBat() {
+        return bat;
+    }
+
     @Override
     public String toString() {
         return "EartagEartagRegisterEntity{" +
@@ -196,6 +207,7 @@ public class EartagEartagRegisterEntity implements Serializable {
                 "activeTime=" + activeTime + '\'' +
                 "liveStatus=" + liveStatus + '\'' +
                 "createDate=" + createDate + '\'' +
+                "bat=" + bat + '\'' +
                 '}';
     }
 }

+ 9 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagAbnormalDeviceCountRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.eartag2.common.dao.repo;
+
+import com.huimv.eartag2.common.dao.entity.EartagAbnormalDeviceCountEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EartagAbnormalDeviceCountRepo extends JpaRepository<EartagAbnormalDeviceCountEntity, Void>, JpaSpecificationExecutor<EartagAbnormalDeviceCountEntity> {
+
+}

+ 9 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagAbnormalDeviceDetailRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.eartag2.common.dao.repo;
+
+import com.huimv.eartag2.common.dao.entity.EartagAbnormalDeviceDetailEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EartagAbnormalDeviceDetailRepo extends JpaRepository<EartagAbnormalDeviceDetailEntity, Void>, JpaSpecificationExecutor<EartagAbnormalDeviceDetailEntity> {
+
+}

+ 9 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagAbnormalDeviceTimesRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.eartag2.common.dao.repo;
+
+import com.huimv.eartag2.common.dao.entity.EartagAbnormalDeviceTimesEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EartagAbnormalDeviceTimesRepo extends JpaRepository<EartagAbnormalDeviceTimesEntity, Void>, JpaSpecificationExecutor<EartagAbnormalDeviceTimesEntity> {
+
+}

+ 9 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagAbnormalEartagCountRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.eartag2.common.dao.repo;
+
+import com.huimv.eartag2.common.dao.entity.EartagAbnormalEartagCountEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EartagAbnormalEartagCountRepo extends JpaRepository<EartagAbnormalEartagCountEntity, Void>, JpaSpecificationExecutor<EartagAbnormalEartagCountEntity> {
+
+}

+ 9 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagAbnormalEartagDetailRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.eartag2.common.dao.repo;
+
+import com.huimv.eartag2.common.dao.entity.EartagAbnormalEartagDetailEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EartagAbnormalEartagDetailRepo extends JpaRepository<EartagAbnormalEartagDetailEntity, Void>, JpaSpecificationExecutor<EartagAbnormalEartagDetailEntity> {
+
+}

+ 9 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagAbnormalEartagTimesRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.eartag2.common.dao.repo;
+
+import com.huimv.eartag2.common.dao.entity.EartagAbnormalEartagTimesEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EartagAbnormalEartagTimesRepo extends JpaRepository<EartagAbnormalEartagTimesEntity, Void>, JpaSpecificationExecutor<EartagAbnormalEartagTimesEntity> {
+
+}

+ 13 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagConfigPropertiesRepo.java

@@ -0,0 +1,13 @@
+package com.huimv.eartag2.common.dao.repo;
+
+import com.huimv.eartag2.common.dao.entity.EartagConfigPropertiesEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+public interface EartagConfigPropertiesRepo extends JpaRepository<EartagConfigPropertiesEntity, Integer>, JpaSpecificationExecutor<EartagConfigPropertiesEntity> {
+
+
+    @Query(nativeQuery = true,value = "SELECT * FROM eartag_config_properties WHERE farm_id=?1 AND farm_id=?2")
+    EartagConfigPropertiesEntity getThresholdVal(String farmId,String sort);
+}

+ 7 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/utils/BizConst.java

@@ -69,6 +69,12 @@ public class BizConst {
     //芯片id和设备编码的映射
     public final static String CHIP_DEVICE_PREFIX = "hash:chipId";
 
+    //环境温度高低温阈值
+    public static final String HASH_ENV_TEMP_TV_PREFIX = "hash:envTempTv:farmId";
+
+    //耳标温度高低温阈值
+    public static final String HASH_EARTAG_TEMP_TV_PREFIX = "hash:eartagTempTv:farmId";
+
 
     public final static Integer CODE_DEVICE_ONLINE_NO_EXIST = 10001;
     public final static String MSG_DEVICE_ONLINE_NO_EXIST = "今天无在线设备.";
@@ -96,6 +102,7 @@ public class BizConst {
 
     public final static Integer CODE_DEVICE_STATUS_EXIST = 10009;
 
+
 //    public final static Integer CODE_DEVICE_REGISTER_NO_EXIST = 10009;
 //    public final static Integer CODE_DEVICE_STATUS_EXIST = 10009;
 

+ 3 - 0
huimv-eartag2-platform/huimv-eartag2-device/src/main/java/com/huimv/eartag2/device/service/ICacheService.java

@@ -79,4 +79,7 @@ public interface ICacheService {
 
     //
     void deleteDeviceToOnlineSet(String farmId, String deviceCode, String todayDateText);
+
+    //获取环境温度的高低温阈值
+    Object getEnvTempThresholdVal(String farmId);
 }

+ 7 - 0
huimv-eartag2-platform/huimv-eartag2-device/src/main/java/com/huimv/eartag2/device/service/impl/CacheServiceImpl.java

@@ -56,6 +56,13 @@ public class CacheServiceImpl implements ICacheService {
     }
 
     @Override
+    public Object getEnvTempThresholdVal(String farmId) {
+        String key = BizConst.HASH_ENV_TEMP_TV_PREFIX+farmId;
+        String hashKey = "envTemp";
+         return redisTemplate.opsForHash().get(key,hashKey);
+    }
+
+    @Override
     public Boolean isExistTodayFarmAllStatus(String deviceCode) throws ParseException {
         System.out.println("isExistTodayFarmAllStatus 2.deviceCode>>"+deviceCode);
 

+ 54 - 2
huimv-eartag2-platform/huimv-eartag2-device/src/main/java/com/huimv/eartag2/device/service/impl/DeviceServiceImpl.java

@@ -66,6 +66,8 @@ public class DeviceServiceImpl implements IDeviceService {
     private EartagDeviceOnlineRepo eartagDeviceOnlineRepo;
     @Autowired
     private EartagEartagRegisterRepo eartagRegisterRepo;
+    @Autowired
+    private EartagConfigPropertiesRepo configPropertiesRepo;
     @Value("${service.farmAllStatus.host}")
     private String serviceFarmAllStatusHost;
     @Value("${service.farmAllStatus.ip}")
@@ -125,7 +127,7 @@ public class DeviceServiceImpl implements IDeviceService {
         }else{
             log.error("出错:该请求的FarmId为空.请检查该设备编码["+deviceCode+"]是否存在FarmId.");
         }
-        System.out.println("## END 心跳.");
+        System.out.println("## END 心跳数据。 "+new com.huimv.eartag2.common.utils.DateUtil().getTodayMissionText());
     }
 
     //更新总状态
@@ -373,6 +375,9 @@ public class DeviceServiceImpl implements IDeviceService {
             //3.{更新在线统计表}
             updateDeviceOnlineWithEnvtemp(farmId, deviceCode,envtemp,todayDate,nowTimestamp);
 
+            //{检查异常温度}
+            checkAbnormalEnvTemp(farmId,envtemp);
+
             //判断该设备编号是否存在牧场缓存在线集合当中;
             Boolean isExist = cacheService.isExistDeviceOnlineSet(farmId, deviceCode,todayDateText);
             System.out.println("## 环境温度 isExist>>"+isExist);
@@ -386,7 +391,54 @@ public class DeviceServiceImpl implements IDeviceService {
         }else{
             log.error("出错:该请求的FarmId为空.请检查该设备编码["+deviceCode+"]是否存在FarmId.");
         }
-        System.out.println("## END 环境数据");
+        System.out.println("## END 环境数据。"+new com.huimv.eartag2.common.utils.DateUtil().getTodayMissionText());
+    }
+
+    /**
+     * @Method      : checkAbnormalEnvTemp
+     * @Description : 检查异常环境温度
+     * @Params      : [farmId, envtemp]
+     * @Return      : void
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2022/4/6       
+     * @Time        : 19:14
+     */
+    private void checkAbnormalEnvTemp(String farmId, String envtemp) {
+        //{}
+        Object envTempTvObj = cacheService.getEnvTempThresholdVal(farmId);
+        String envTempTv = "";
+        if(envTempTvObj != null){
+            envTempTv = envTempTvObj.toString();
+            String[] envTempArray = envTempTv.split("-");
+            if(envTempArray.length==1){
+                String lowTemp = envTempArray[0];
+
+            }else  if(envTempArray.length==2){
+                String lowTemp = envTempArray[0];
+                if(lowTemp == null || lowTemp.trim().length() ==0){
+                    
+                }
+                String highTemp = envTempArray[1];
+
+            }
+
+
+            //===============================================================================
+        }else{
+            String sort = "";
+            //从数据库读取阈值
+            EartagConfigPropertiesEntity configPropertiesEntity = configPropertiesRepo.getThresholdVal(farmId,sort);
+            if(configPropertiesEntity != null){
+                String lowTemp = configPropertiesEntity.getProVal1();
+                String highTemp = configPropertiesEntity.getProVal2();
+
+
+                //===============================================================================
+            }else{
+                log.error(farmId+"牧场的环境温度高低温阈值为空.请检查,否则不能进行设备的高低温异常统计.");
+            }
+        }
     }
 
     //更新设备环境信息

+ 1 - 1
huimv-eartag2-platform/huimv-eartag2-device/src/main/java/com/huimv/eartag2/device/utils/MathUtil.java

@@ -52,7 +52,7 @@ public class MathUtil {
         NumberFormat numberFormat = NumberFormat.getInstance();
         // 设置精确到小数点后2位
         numberFormat.setMaximumFractionDigits(scale);
-        float temp2 = Float.parseFloat(new BigDecimal(temp).multiply(new BigDecimal(0.01)).toString());
+        float temp2 = Float.parseFloat(new BigDecimal(temp).multiply(new BigDecimal(0.1)).toString());
         return numberFormat.format(temp2);
     }
 

+ 1 - 1
huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/listener/EartagListener.java

@@ -69,7 +69,7 @@ public class EartagListener {
                 eartagService.handleEartag(dataJo);
             }
         }else{
-            System.out.println("过滤非测试耳标>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
+            System.out.println("## 已过滤非测试耳标");
         }
 //        //正式代码
 //        if(type.trim().equalsIgnoreCase("eartag")){

+ 9 - 4
huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/EartagServiceImpl.java

@@ -62,6 +62,8 @@ public class EartagServiceImpl implements IEartagService {
         String deviceCode = dataJo.getString("device");
         //耳标号
         String earmark = dataJo.getString("earmark");
+        //电量
+        String bat = dataJo.getString("bat");
         String todayDateText = new DateUtil().getTodayDateText();
         java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
         Timestamp nowTimestamp = new Timestamp(new java.util.Date().getTime());
@@ -78,7 +80,7 @@ public class EartagServiceImpl implements IEartagService {
             updateDeviceRegister(deviceCode, nowTimestamp, todayDate, farmId);
 
             //{更新耳标注册信息}
-            updateEartagRegister(earmark, deviceCode, nowTimestamp, todayDate, farmId);
+            updateEartagRegister(earmark, deviceCode,bat, nowTimestamp, todayDate, farmId);
 
             //{更新设备在线统计}
             updateDeviceOnline(earmark, deviceCode, todayDateText,nowTimestamp, todayDate, dataJo,farmId);
@@ -96,6 +98,7 @@ public class EartagServiceImpl implements IEartagService {
                 //将耳标号加入到耳标在线集合当中
                 cacheService.putEartagToOnlineInSet(farmId, earmark, todayDateText);
             }
+            System.out.println("## END 耳标数据。 "+new DateUtil().getTodayMissionText());
         }else{
             log.error("出错:该请求的FarmId为空.请检查该设备编码["+deviceCode+"]是否存在FarmId.");
         }
@@ -478,7 +481,7 @@ public class EartagServiceImpl implements IEartagService {
     }
 
     //更新耳标注册数据
-    public void updateEartagRegister(String earmark, String deviceCode, Timestamp nowTimestamp, java.sql.Date todayDate, String farmId) {
+    public void updateEartagRegister(String earmark, String deviceCode, String bat, Timestamp nowTimestamp, java.sql.Date todayDate, String farmId) {
         //# 判断耳标注册表是否存在;
         //      如果不存在就注册耳标;
         //      如果存在就更新活动状态(active_status)和活动状态更新时间(active_time)
@@ -488,12 +491,13 @@ public class EartagServiceImpl implements IEartagService {
         EartagEartagRegisterEntity eartagRegisterEntity = eartagRegisterRepo.getOneByEarmark(earmark,farmId);
         if(eartagRegisterEntity == null){
            //{新建耳标注册信息}
-            newEartagRegister(earmark,nowTimestamp,deviceCode,registerType,activeStatus,liveStatus,todayDate,farmId);
+            newEartagRegister(earmark,nowTimestamp,deviceCode,registerType,activeStatus,liveStatus,bat,todayDate,farmId);
         }else{
             eartagRegisterEntity.setLastTime(nowTimestamp);
             eartagRegisterEntity.setLastDevice(deviceCode);
             eartagRegisterEntity.setActiveStatus(activeStatus);
             eartagRegisterEntity.setActiveTime(nowTimestamp);
+            eartagRegisterEntity.setBat(Integer.parseInt(bat));
             eartagRegisterRepo.saveAndFlush(eartagRegisterEntity);
             //更新耳标注册消息缓存
             cacheService.putEartagRegister(earmark,eartagRegisterEntity);
@@ -501,7 +505,7 @@ public class EartagServiceImpl implements IEartagService {
     }
 
     //新建耳标注册信息
-    private void newEartagRegister(String earmark, Timestamp nowTimestamp, String deviceCode, Integer registerType, Integer activeStatus, Integer liveStatus, java.sql.Date todayDate, String farmId) {
+    private void newEartagRegister(String earmark, Timestamp nowTimestamp, String deviceCode, Integer registerType, Integer activeStatus, Integer liveStatus, String bat, java.sql.Date todayDate, String farmId) {
         //#创建耳标注册记录#
         EartagEartagRegisterEntity newEartagRegisterEntity = new EartagEartagRegisterEntity();
         newEartagRegisterEntity.setEarmark(earmark);
@@ -517,6 +521,7 @@ public class EartagServiceImpl implements IEartagService {
         newEartagRegisterEntity.setActiveTime(nowTimestamp);
         newEartagRegisterEntity.setLiveStatus(liveStatus);
         newEartagRegisterEntity.setCreateDate(todayDate);
+        newEartagRegisterEntity.setBat(Integer.parseInt(bat));
         eartagRegisterRepo.saveAndFlush(newEartagRegisterEntity);
         //{更新耳标注册消息缓存}
         cacheService.putEartagRegister(earmark,newEartagRegisterEntity);

+ 14 - 13
huimv-eartag2-platform/huimv-eartag2-input/src/main/java/com/huimv/eartag2/server/EartagServerHandler2.java

@@ -52,7 +52,7 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
     private int num = 0;
 
     //
-    public void saveClientAsk(String text){
+    public void appendClientAsk(String text){
         if(this.askTextSb == null){
             askTextSb = new StringBuilder();
         }
@@ -65,7 +65,7 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
         String clientAskText = data.toString(CharsetUtil.UTF_8);
 //        System.out.println((++num)+"次, 客户端消息clientAskText>>"+clientAskText);
         //保存实例内的客户端请求
-        saveClientAsk(clientAskText);
+        appendClientAsk(clientAskText);
     }
 
     @Override
@@ -89,7 +89,7 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
     public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
 //        System.out.println("cause.getMessage()>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+cause.getMessage());
         if(cause.getMessage().indexOf("Connection reset") != -1){
-            log.info("相关采集器设备重启:"+cause.toString());
+            log.info("相关采集器设备正在重启:"+cause.toString());
         }
 //        cause.printStackTrace();
         ctx.close();
@@ -114,7 +114,6 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
         if(dataTestInput == 1){
             deviceService.saveRawData(clientAskText);
         }
-
         /////////////////////////////////////////////////////////////
 
         //{}
@@ -125,8 +124,10 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
             //--处理客户端请求数据
             //{拆分粘包数据}
             JSONArray askJa = getPerData(clientAskText);
+//            System.out.println("askJa.size()="+askJa.size());
             for (int a = 0; a < askJa.size(); a++) {
                 String askText = askJa.getString(a);
+//                System.out.println((a+1)+",askText"+askText);
                 /////////////////////////////////////////////////////////////
                 //TEST-saveRawData()
 //                deviceService.saveRawData(askText);
@@ -172,7 +173,7 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
                 log.info("获取设备编码结果,芯片id>>" + idCode + " ,deviceCode>>" + deviceCode);
                 if (deviceCode != null) {
                     String answer = "hm+1+0+" + deviceCode + "+123+8+end";
-                    log.info(">>返回命令1设备编码-应答数据>>" + answer);
+                    log.info(">>命令1设备编码-应答数据>>" + answer);
                     ctx.writeAndFlush(Unpooled.copiedBuffer(answer.getBytes()));
                 } else {
                     log.error("检测到未注册的采集器设备,已舍弃请求.");
@@ -182,7 +183,7 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
                 if (dataService.isEffectiveDevice(idCode)) {
                     //处理服务器时间命令
                     String answer = "hm+2+" + dateUtil.getNowText() + "+4+end";
-                    log.info(">>返回命令2服务器时间-应答数据>>" + answer);
+                    log.info(">>命令2服务器时间-应答数据>>" + answer);
                     ctx.writeAndFlush(Unpooled.copiedBuffer(answer.getBytes()));
                 }else {
                     System.out.println("##获取服务器时间-无效设备编码 idCode=" + idCode);
@@ -193,12 +194,12 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
                 //{设备心跳应答}
                 if (dataService.isEffectiveDevice(idCode)) {
                     String answer = "hm+3+6+end";
-                    log.info(">>返回命令3心跳包-应答数据>>" + answer);
+                    log.info(">>命令3心跳包-应答数据>>" + answer);
                     ctx.writeAndFlush(Unpooled.copiedBuffer(answer.getBytes()));
 
-                    //{发送到耳标处理消息队列}
+                    //{发送到设备处理消息队列}
                     dataService.sendDeviceMQ(map);
-                    System.out.println("有效设备编码");
+                    log.info(">>发送设备心跳数据消息到MQ."+map);
                 } else {
                     System.out.println("##心跳包-无效设备编码(" + idCode+"),请求拒绝。");
                 }
@@ -208,12 +209,12 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
                 //{设备环境温度应答}
                 if (dataService.isEffectiveDevice(idCode)) {
                     String answer = "hm+4+7+end";
-                    log.info(">>返回命令4环境温度-应答数据>>" + answer);
+                    log.info(">>命令4环境温度-应答数据>>" + answer);
                     ctx.writeAndFlush(Unpooled.copiedBuffer(answer.getBytes()));
 
-                    //{发送到耳标处理消息队列}
+                    //{发送到设备处理消息队列}
                     dataService.sendDeviceMQ(map);
-                    System.out.println("有效设备编码");
+                    log.info(">>发送设备环境温度数据消息到MQ."+map);
                 } else {
                     System.out.println("##环境温度-无效设备编码(" + idCode+"),请求拒绝。");
                 }
@@ -232,7 +233,7 @@ public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
                 if (dataService.isEffectiveDevice(idCode)) {
                     //{发送到耳标处理消息队列}
                     dataService.sendEartagMQ(map);
-                    System.out.println("有效设备编码");
+                    log.info(">>发送耳标数据消息到MQ."+map);
                 }else{
                     System.out.println("无效设备编码 idCode="+idCode);
                 }

+ 2 - 2
huimv-eartag2-platform/huimv-eartag2-input/src/main/resources/application.properties

@@ -25,7 +25,7 @@ management.security.enabled=false
 # 数据处理流程
 data.input.flow=2
 
-# 是否写入测试数据(1:可以写入 0:不写入)
-data.test.input=1
+# 是否写入测试数据(1:写入 0:不写入)
+data.test.input=0
 
 

+ 33 - 1
huimv-eartag2-platform/huimv-eartag2-manage/pom.xml

@@ -54,13 +54,45 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-undertow</artifactId>
         </dependency>
-
+        <!-- -->
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient</artifactId>
             <version>4.5.5</version>
         </dependency>
 
+        <!-- 基准测试 start -->
+<!--        <dependency>-->
+<!--            <groupId>org.openjdk.jmh</groupId>-->
+<!--            <artifactId>jmh-core</artifactId>-->
+<!--            <version>1.21</version>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>org.openjdk.jmh</groupId>-->
+<!--            <artifactId>jmh-generator-annprocess</artifactId>-->
+<!--            <version>1.21</version>-->
+<!--        </dependency>-->
+        <!-- 基准测试 end -->
+
+        <!-- 基准demo测试 start -->
+<!--        &lt;!&ndash;fastjson依赖&ndash;&gt;-->
+<!--        <dependency>-->
+<!--            <groupId>com.alibaba</groupId>-->
+<!--            <artifactId>fastjson</artifactId>-->
+<!--            <version>1.2.56</version>-->
+<!--        </dependency>-->
+<!--        &lt;!&ndash;jackson依赖&ndash;&gt;-->
+<!--        <dependency>-->
+<!--            <groupId>com.fasterxml.jackson.core</groupId>-->
+<!--            <artifactId>jackson-databind</artifactId>-->
+<!--            <version>2.9.4</version>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.fasterxml.jackson.core</groupId>-->
+<!--            <artifactId>jackson-annotations</artifactId>-->
+<!--            <version>2.9.4</version>-->
+<!--        </dependency>-->
+        <!-- 基准demo测试 end -->
     </dependencies>
 
     <build>

+ 31 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/config/TopicRabbitMQConfig.java

@@ -60,4 +60,35 @@ public class TopicRabbitMQConfig {
         return BindingBuilder.bind(syncDeviceTotalQueue()).to(syncDeviceTotalExchange()).with(Const.ROUTING_KEY_SYNC_DEVICE_TOTAL);
     }
 
+
+    // ============================= input模块 ============================= //
+    //原始数据队列
+    @Bean
+    public Queue askDeviceQueue() {
+        return new Queue(Const.QUEUE_ASK_DEVICE);
+    }
+    @Bean
+    public Queue askEartagQueue() {
+        return new Queue(Const.QUEUE_ASK_EARTAG);
+    }
+
+    //原始交换机
+    @Bean
+    TopicExchange askDeviceExchange() {
+        return new TopicExchange(Const.EXCHANGE_ASK_DEVICE);
+    }
+    @Bean
+    TopicExchange askEartagExchange() {
+        return new TopicExchange(Const.EXCHANGE_ASK_EARTAG);
+    }
+
+    //绑定关系
+    @Bean
+    Binding bindingDeviceExchangeMessage() {
+        return BindingBuilder.bind(askDeviceQueue()).to(askDeviceExchange()).with(Const.ROUTING_KEY_ASK_DEVICE);
+    }
+    @Bean
+    Binding bindingEartagExchangeMessage() {
+        return BindingBuilder.bind(askEartagQueue()).to(askEartagExchange()).with(Const.ROUTING_KEY_ASK_EARTAG);
+    }
 }

+ 14 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/controller/TestController.java

@@ -33,6 +33,20 @@ public class TestController {
     @Autowired
     private ManageProducer producer;
 
+    @GetMapping("/sendMq")
+    public void sendMq(){
+        Map map = new HashMap();
+        String askText = "hm+202007239999866+4+1+247+20220407140548+0+end";
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ASK_DEVICE, Const.ROUTING_KEY_ASK_DEVICE, map);
+        System.out.println("同步设备注册信息 >>"+map.toString());
+    }
+
+    @GetMapping("/getName")
+    public String getName(){
+        return "Hello,World.";
+    }
+
     //
     @PostMapping("/testRemoteProcessFarmAllStatus")
     public void testRemoteProcessFarmAllStatus() throws ParseException {

+ 5 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/producer/ManageProducer.java

@@ -58,4 +58,9 @@ public class ManageProducer {
         rabbitTemplate.convertAndSend(Const.EXCHANGE_SYNC_DEVICE_TOTAL, Const.ROUTING_KEY_SYNC_DEVICE_TOTAL, map);
         System.out.println("设置取消状态 3.同步设备总数信息 >>"+map.toString());
     }
+
+    //更新设备别名
+    public void sendUpdateDeviceAlias(String deviceRegisterText) {
+        
+    }
 }

+ 2 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/java/com/huimv/eartag2/manage/service/impl/DeviceRegisterServiceImpl.java

@@ -97,6 +97,8 @@ public class DeviceRegisterServiceImpl implements IDeviceRegisterService {
             //{设置工作状态}
             setDeviceWorkStatus(deviceRegisterEntity);
         }
+        //发送更名操作
+        producer.sendUpdateDeviceAlias(JSONObject.toJSONString(deviceRegisterEntity));
         return new Result(ResultCode.SUCCESS);
     }
 

+ 44 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/main/resources/application-dev2.yml

@@ -0,0 +1,44 @@
+server:
+  port: 8096
+spring:
+  application:
+    name: huimv-eartag2-manage
+
+  datasource:
+    url: jdbc:mysql://192.168.1.7:3306/huimv-demo-eartag20?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    username: root
+    password: hm123456
+    driver-class-name: com.mysql.cj.jdbc.Driver
+  jpa:
+    show-sql: true
+    database: mysql
+    hibernate:
+      ddl-auto: update
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+    open-in-view: true
+
+  rabbitmq:
+    #    host: 192.168.1.170
+    host: 192.168.1.75
+    port: 5672
+    username: admin
+    password: admin
+    #虚拟host 可以不设置,使用server默认host
+    virtual-host: /
+    listener:
+      simple:
+        acknowledge-mode: none
+
+  #redis
+  redis:
+    database: 0
+    host: 192.168.1.68
+    port: 6379
+    password: hm123456
+    timeout: 5000ms
+    jedis:
+      pool:
+        max-active: 20
+        max-wait: -1
+        max-idle: 10
+        min-idle: 0

+ 2 - 1
huimv-eartag2-platform/huimv-eartag2-manage/src/main/resources/application.properties

@@ -1,4 +1,5 @@
-spring.profiles.active=dev
+#spring.profiles.active=dev
+spring.profiles.active=dev2
 
 # mysql:/cache:
 device.online.access_mode=mysql

+ 62 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/test/java/com/huimv/eartag2/manage/utils/Client.java

@@ -0,0 +1,62 @@
+package com.huimv.eartag2.manage.utils;
+
+import com.alibaba.fastjson.JSON;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.*;
+//import org.openjdk.jmh.annotations.*;
+//import org.openjdk.jmh.infra.Blackhole;
+//import org.openjdk.jmh.runner.Runner;
+//import org.openjdk.jmh.runner.RunnerException;
+//import org.openjdk.jmh.runner.options.Options;
+//import org.openjdk.jmh.runner.options.OptionsBuilder;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+//@BenchmarkMode(Mode.AverageTime)
+//@State(Scope.Thread)
+//@Warmup(iterations = 2, time = 1, timeUnit = TimeUnit.SECONDS)
+//@Fork(1)
+//@OutputTimeUnit(TimeUnit.MICROSECONDS)
+//@Measurement(iterations = 5)
+//public class Client {
+//
+//    public static void main(String[] args) throws RunnerException {
+//        Options options = new OptionsBuilder()
+//                .build();
+//        new Runner(options).run();
+//    }
+//
+//    @Benchmark
+//    public void testFastJsonSerialize(Blackhole blackhole) {
+//        List<User> userList = Arrays.asList(new User("lisi", "123"), new User("Tony", "456"));
+//        blackhole.consume(JSON.toJSONString(userList));
+//    }
+//
+//    @Benchmark
+//    public void testJacksonSerialize(Blackhole blackhole) throws JsonProcessingException {
+//        List<User> userList = Arrays.asList(new User("lisi", "123"), new User("Tony", "456"));
+//        ObjectMapper objectMapper = new ObjectMapper();
+//        blackhole.consume(objectMapper.writeValueAsString(userList));
+//    }
+//
+//    @AllArgsConstructor
+//    @NoArgsConstructor
+//    @Setter
+//    @Getter
+//    @ToString
+//    static class User {
+//        private String username;
+//        private String password;
+//    }
+//}

+ 9 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/test/java/com/huimv/eartag2/manage/utils/DeviceCodeTest.java

@@ -59,4 +59,13 @@ public class DeviceCodeTest {
 //        int sizeInBytes = bytes.length;
 //        System.out.println("## 字节数>>"+sizeInBytes);
     }
+
+    @Test
+    public void test3(){
+        String text = "-25";
+        String[] textArray = text.split("-");
+        System.out.println("length="+textArray.length);
+        System.out.println("0="+textArray[0]);
+        System.out.println("1="+textArray[1]);
+    }
 }

+ 34 - 0
huimv-eartag2-platform/huimv-eartag2-manage/src/test/java/com/huimv/eartag2/manage/utils/RabbitMQTest.java

@@ -0,0 +1,34 @@
+package com.huimv.eartag2.manage.utils;
+
+import com.huimv.eartag2.common.mq.Const;
+import org.junit.Test;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+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
+ **/
+@SpringBootTest
+public class RabbitMQTest {
+    @Autowired
+    RabbitTemplate rabbitTemplate;  //使用RabbitTemplate,这提供了接收/发送等等方法
+
+    @Test
+    public void test1(){
+        Map map = new HashMap();
+        String askText = "hm+202007239999866+4+1+247+20220407140548+0+end";
+        map.put("askText",askText);
+        rabbitTemplate.convertAndSend(Const.EXCHANGE_ASK_DEVICE, Const.ROUTING_KEY_ASK_DEVICE, map);
+        System.out.println("同步设备注册信息 >>"+map.toString());
+
+    }
+}