Quellcode durchsuchen

完成环保数据的接入(将环保数据插入牧场数据库)。

zhuoning vor 3 Jahren
Ursprung
Commit
16fb691b0a
16 geänderte Dateien mit 1701 neuen und 40 gelöschten Zeilen
  1. 296 0
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/dao/entity/EnvHourEntity.java
  2. 296 0
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/dao/entity/EnvMinuteEntity.java
  3. 200 0
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/dao/entity/EnvRealTimeEntity.java
  4. 9 0
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/dao/repo/EnvHourRepo.java
  5. 9 0
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/dao/repo/EnvMinuteRepo.java
  6. 9 0
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/dao/repo/EnvRealTimeRepo.java
  7. 386 23
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/server/EnvironDataHandler.java
  8. 6 2
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/server/EnvironServer.java
  9. 384 4
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/server/EnvironServerHandler.java
  10. 8 0
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/service/IEnviron.java
  11. 7 6
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/client/EnvironClient.java
  12. 3 3
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/task/EnvironTask.java
  13. 42 0
      huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/utils/DateUtil.java
  14. 1 1
      huimv-farm-device/huimv-farm-cloud-environ/src/main/resources/application-prod.yml
  15. 3 1
      huimv-farm-device/huimv-farm-cloud-environ/src/main/resources/application.properties
  16. 42 0
      huimv-farm-device/huimv-farm-cloud-environ/src/test/java/com/huimv/environ/server/EnvironDataHandlerTest.java

+ 296 - 0
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/dao/entity/EnvHourEntity.java

@@ -0,0 +1,296 @@
+package com.huimv.environ.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "env_hour")
+public class EnvHourEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "qn")
+    private String qn;
+
+    @Column(name = "st")
+    private String st;
+
+    @Column(name = "cn")
+    private String cn;
+
+    @Column(name = "mn")
+    private String mn;
+
+    @Column(name = "datetime")
+    private Timestamp datetime;
+
+    @Column(name = "hxxyl_zx")
+    private String hxxylZx;
+
+    @Column(name = "hxxyl_zd")
+    private String hxxylZd;
+
+    @Column(name = "hxxyl_pj")
+    private String hxxylPj;
+
+    @Column(name = "hxxylzt")
+    private String hxxylzt;
+
+    @Column(name = "ad_zx")
+    private String adZx;
+
+    @Column(name = "ad_zd")
+    private String adZd;
+
+    @Column(name = "ad_pj")
+    private String adPj;
+
+    @Column(name = "adzt")
+    private String adzt;
+
+    @Column(name = "ph_zx")
+    private String phZx;
+
+    @Column(name = "ph_zd")
+    private String phZd;
+
+    @Column(name = "ph_pj")
+    private String phPj;
+
+    @Column(name = "phzt")
+    private String phzt;
+
+    @Column(name = "ws_zx")
+    private String wsZx;
+
+    @Column(name = "ws_zd")
+    private String wsZd;
+
+    @Column(name = "ws_pj")
+    private String wsPj;
+
+    @Column(name = "wszt")
+    private String wszt;
+
+    @Column(name = "add_time")
+    private Timestamp addTime;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setQn(String qn) {
+        this.qn = qn;
+    }
+
+    public String getQn() {
+        return qn;
+    }
+
+    public void setSt(String st) {
+        this.st = st;
+    }
+
+    public String getSt() {
+        return st;
+    }
+
+    public void setCn(String cn) {
+        this.cn = cn;
+    }
+
+    public String getCn() {
+        return cn;
+    }
+
+    public void setMn(String mn) {
+        this.mn = mn;
+    }
+
+    public String getMn() {
+        return mn;
+    }
+
+    public void setDatetime(Timestamp datetime) {
+        this.datetime = datetime;
+    }
+
+    public Timestamp getDatetime() {
+        return datetime;
+    }
+
+    public void setHxxylZx(String hxxylZx) {
+        this.hxxylZx = hxxylZx;
+    }
+
+    public String getHxxylZx() {
+        return hxxylZx;
+    }
+
+    public void setHxxylZd(String hxxylZd) {
+        this.hxxylZd = hxxylZd;
+    }
+
+    public String getHxxylZd() {
+        return hxxylZd;
+    }
+
+    public void setHxxylPj(String hxxylPj) {
+        this.hxxylPj = hxxylPj;
+    }
+
+    public String getHxxylPj() {
+        return hxxylPj;
+    }
+
+    public void setHxxylzt(String hxxylzt) {
+        this.hxxylzt = hxxylzt;
+    }
+
+    public String getHxxylzt() {
+        return hxxylzt;
+    }
+
+    public void setAdZx(String adZx) {
+        this.adZx = adZx;
+    }
+
+    public String getAdZx() {
+        return adZx;
+    }
+
+    public void setAdZd(String adZd) {
+        this.adZd = adZd;
+    }
+
+    public String getAdZd() {
+        return adZd;
+    }
+
+    public void setAdPj(String adPj) {
+        this.adPj = adPj;
+    }
+
+    public String getAdPj() {
+        return adPj;
+    }
+
+    public void setAdzt(String adzt) {
+        this.adzt = adzt;
+    }
+
+    public String getAdzt() {
+        return adzt;
+    }
+
+    public void setPhZx(String phZx) {
+        this.phZx = phZx;
+    }
+
+    public String getPhZx() {
+        return phZx;
+    }
+
+    public void setPhZd(String phZd) {
+        this.phZd = phZd;
+    }
+
+    public String getPhZd() {
+        return phZd;
+    }
+
+    public void setPhPj(String phPj) {
+        this.phPj = phPj;
+    }
+
+    public String getPhPj() {
+        return phPj;
+    }
+
+    public void setPhzt(String phzt) {
+        this.phzt = phzt;
+    }
+
+    public String getPhzt() {
+        return phzt;
+    }
+
+    public void setWsZx(String wsZx) {
+        this.wsZx = wsZx;
+    }
+
+    public String getWsZx() {
+        return wsZx;
+    }
+
+    public void setWsZd(String wsZd) {
+        this.wsZd = wsZd;
+    }
+
+    public String getWsZd() {
+        return wsZd;
+    }
+
+    public void setWsPj(String wsPj) {
+        this.wsPj = wsPj;
+    }
+
+    public String getWsPj() {
+        return wsPj;
+    }
+
+    public void setWszt(String wszt) {
+        this.wszt = wszt;
+    }
+
+    public String getWszt() {
+        return wszt;
+    }
+
+    public void setAddTime(Timestamp addTime) {
+        this.addTime = addTime;
+    }
+
+    public Timestamp getAddTime() {
+        return addTime;
+    }
+
+    @Override
+    public String toString() {
+        return "EnvHourEntity{" +
+                "id=" + id + '\'' +
+                "qn=" + qn + '\'' +
+                "st=" + st + '\'' +
+                "cn=" + cn + '\'' +
+                "mn=" + mn + '\'' +
+                "datetime=" + datetime + '\'' +
+                "hxxylZx=" + hxxylZx + '\'' +
+                "hxxylZd=" + hxxylZd + '\'' +
+                "hxxylPj=" + hxxylPj + '\'' +
+                "hxxylzt=" + hxxylzt + '\'' +
+                "adZx=" + adZx + '\'' +
+                "adZd=" + adZd + '\'' +
+                "adPj=" + adPj + '\'' +
+                "adzt=" + adzt + '\'' +
+                "phZx=" + phZx + '\'' +
+                "phZd=" + phZd + '\'' +
+                "phPj=" + phPj + '\'' +
+                "phzt=" + phzt + '\'' +
+                "wsZx=" + wsZx + '\'' +
+                "wsZd=" + wsZd + '\'' +
+                "wsPj=" + wsPj + '\'' +
+                "wszt=" + wszt + '\'' +
+                "addTime=" + addTime + '\'' +
+                '}';
+    }
+}

+ 296 - 0
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/dao/entity/EnvMinuteEntity.java

@@ -0,0 +1,296 @@
+package com.huimv.environ.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "env_minute")
+public class EnvMinuteEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "qn")
+    private String qn;
+
+    @Column(name = "st")
+    private String st;
+
+    @Column(name = "cn")
+    private String cn;
+
+    @Column(name = "mn")
+    private String mn;
+
+    @Column(name = "datetime")
+    private Timestamp datetime;
+
+    @Column(name = "hxxyl_zx")
+    private String hxxylZx;
+
+    @Column(name = "hxxyl_zd")
+    private String hxxylZd;
+
+    @Column(name = "hxxyl_pj")
+    private String hxxylPj;
+
+    @Column(name = "hxxylzt")
+    private String hxxylzt;
+
+    @Column(name = "ad_zx")
+    private String adZx;
+
+    @Column(name = "ad_zd")
+    private String adZd;
+
+    @Column(name = "ad_pj")
+    private String adPj;
+
+    @Column(name = "adzt")
+    private String adzt;
+
+    @Column(name = "ph_zx")
+    private String phZx;
+
+    @Column(name = "ph_zd")
+    private String phZd;
+
+    @Column(name = "ph_pj")
+    private String phPj;
+
+    @Column(name = "phzt")
+    private String phzt;
+
+    @Column(name = "ws_zx")
+    private String wsZx;
+
+    @Column(name = "ws_zd")
+    private String wsZd;
+
+    @Column(name = "ws_pj")
+    private String wsPj;
+
+    @Column(name = "wszt")
+    private String wszt;
+
+    @Column(name = "add_time")
+    private Timestamp addTime;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setQn(String qn) {
+        this.qn = qn;
+    }
+
+    public String getQn() {
+        return qn;
+    }
+
+    public void setSt(String st) {
+        this.st = st;
+    }
+
+    public String getSt() {
+        return st;
+    }
+
+    public void setCn(String cn) {
+        this.cn = cn;
+    }
+
+    public String getCn() {
+        return cn;
+    }
+
+    public void setMn(String mn) {
+        this.mn = mn;
+    }
+
+    public String getMn() {
+        return mn;
+    }
+
+    public void setDatetime(Timestamp datetime) {
+        this.datetime = datetime;
+    }
+
+    public Timestamp getDatetime() {
+        return datetime;
+    }
+
+    public void setHxxylZx(String hxxylZx) {
+        this.hxxylZx = hxxylZx;
+    }
+
+    public String getHxxylZx() {
+        return hxxylZx;
+    }
+
+    public void setHxxylZd(String hxxylZd) {
+        this.hxxylZd = hxxylZd;
+    }
+
+    public String getHxxylZd() {
+        return hxxylZd;
+    }
+
+    public void setHxxylPj(String hxxylPj) {
+        this.hxxylPj = hxxylPj;
+    }
+
+    public String getHxxylPj() {
+        return hxxylPj;
+    }
+
+    public void setHxxylzt(String hxxylzt) {
+        this.hxxylzt = hxxylzt;
+    }
+
+    public String getHxxylzt() {
+        return hxxylzt;
+    }
+
+    public void setAdZx(String adZx) {
+        this.adZx = adZx;
+    }
+
+    public String getAdZx() {
+        return adZx;
+    }
+
+    public void setAdZd(String adZd) {
+        this.adZd = adZd;
+    }
+
+    public String getAdZd() {
+        return adZd;
+    }
+
+    public void setAdPj(String adPj) {
+        this.adPj = adPj;
+    }
+
+    public String getAdPj() {
+        return adPj;
+    }
+
+    public void setAdzt(String adzt) {
+        this.adzt = adzt;
+    }
+
+    public String getAdzt() {
+        return adzt;
+    }
+
+    public void setPhZx(String phZx) {
+        this.phZx = phZx;
+    }
+
+    public String getPhZx() {
+        return phZx;
+    }
+
+    public void setPhZd(String phZd) {
+        this.phZd = phZd;
+    }
+
+    public String getPhZd() {
+        return phZd;
+    }
+
+    public void setPhPj(String phPj) {
+        this.phPj = phPj;
+    }
+
+    public String getPhPj() {
+        return phPj;
+    }
+
+    public void setPhzt(String phzt) {
+        this.phzt = phzt;
+    }
+
+    public String getPhzt() {
+        return phzt;
+    }
+
+    public void setWsZx(String wsZx) {
+        this.wsZx = wsZx;
+    }
+
+    public String getWsZx() {
+        return wsZx;
+    }
+
+    public void setWsZd(String wsZd) {
+        this.wsZd = wsZd;
+    }
+
+    public String getWsZd() {
+        return wsZd;
+    }
+
+    public void setWsPj(String wsPj) {
+        this.wsPj = wsPj;
+    }
+
+    public String getWsPj() {
+        return wsPj;
+    }
+
+    public void setWszt(String wszt) {
+        this.wszt = wszt;
+    }
+
+    public String getWszt() {
+        return wszt;
+    }
+
+    public void setAddTime(Timestamp addTime) {
+        this.addTime = addTime;
+    }
+
+    public Timestamp getAddTime() {
+        return addTime;
+    }
+
+    @Override
+    public String toString() {
+        return "EnvMinuteEntity{" +
+                "id=" + id + '\'' +
+                "qn=" + qn + '\'' +
+                "st=" + st + '\'' +
+                "cn=" + cn + '\'' +
+                "mn=" + mn + '\'' +
+                "datetime=" + datetime + '\'' +
+                "hxxylZx=" + hxxylZx + '\'' +
+                "hxxylZd=" + hxxylZd + '\'' +
+                "hxxylPj=" + hxxylPj + '\'' +
+                "hxxylzt=" + hxxylzt + '\'' +
+                "adZx=" + adZx + '\'' +
+                "adZd=" + adZd + '\'' +
+                "adPj=" + adPj + '\'' +
+                "adzt=" + adzt + '\'' +
+                "phZx=" + phZx + '\'' +
+                "phZd=" + phZd + '\'' +
+                "phPj=" + phPj + '\'' +
+                "phzt=" + phzt + '\'' +
+                "wsZx=" + wsZx + '\'' +
+                "wsZd=" + wsZd + '\'' +
+                "wsPj=" + wsPj + '\'' +
+                "wszt=" + wszt + '\'' +
+                "addTime=" + addTime + '\'' +
+                '}';
+    }
+}

+ 200 - 0
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/dao/entity/EnvRealTimeEntity.java

@@ -0,0 +1,200 @@
+package com.huimv.environ.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "env_real_time")
+public class EnvRealTimeEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "qn")
+    private String qn;
+
+    @Column(name = "st")
+    private String st;
+
+    @Column(name = "cn")
+    private String cn;
+
+    @Column(name = "mn")
+    private String mn;
+
+    @Column(name = "datetime")
+    private Timestamp datetime;
+
+    @Column(name = "hxxyl")
+    private String hxxyl;
+
+    @Column(name = "hxxylzt")
+    private String hxxylzt;
+
+    @Column(name = "ad")
+    private String ad;
+
+    @Column(name = "adzt")
+    private String adzt;
+
+    @Column(name = "ph")
+    private String ph;
+
+    @Column(name = "phzt")
+    private String phzt;
+
+    @Column(name = "ws")
+    private String ws;
+
+    @Column(name = "wszt")
+    private String wszt;
+
+    @Column(name = "add_time")
+    private Timestamp addTime;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setQn(String qn) {
+        this.qn = qn;
+    }
+
+    public String getQn() {
+        return qn;
+    }
+
+    public void setSt(String st) {
+        this.st = st;
+    }
+
+    public String getSt() {
+        return st;
+    }
+
+    public void setCn(String cn) {
+        this.cn = cn;
+    }
+
+    public String getCn() {
+        return cn;
+    }
+
+    public void setMn(String mn) {
+        this.mn = mn;
+    }
+
+    public String getMn() {
+        return mn;
+    }
+
+    public void setDatetime(Timestamp datetime) {
+        this.datetime = datetime;
+    }
+
+    public Timestamp getDatetime() {
+        return datetime;
+    }
+
+    public void setHxxyl(String hxxyl) {
+        this.hxxyl = hxxyl;
+    }
+
+    public String getHxxyl() {
+        return hxxyl;
+    }
+
+    public void setHxxylzt(String hxxylzt) {
+        this.hxxylzt = hxxylzt;
+    }
+
+    public String getHxxylzt() {
+        return hxxylzt;
+    }
+
+    public void setAd(String ad) {
+        this.ad = ad;
+    }
+
+    public String getAd() {
+        return ad;
+    }
+
+    public void setAdzt(String adzt) {
+        this.adzt = adzt;
+    }
+
+    public String getAdzt() {
+        return adzt;
+    }
+
+    public void setPh(String ph) {
+        this.ph = ph;
+    }
+
+    public String getPh() {
+        return ph;
+    }
+
+    public void setPhzt(String phzt) {
+        this.phzt = phzt;
+    }
+
+    public String getPhzt() {
+        return phzt;
+    }
+
+    public void setWs(String ws) {
+        this.ws = ws;
+    }
+
+    public String getWs() {
+        return ws;
+    }
+
+    public void setWszt(String wszt) {
+        this.wszt = wszt;
+    }
+
+    public String getWszt() {
+        return wszt;
+    }
+
+    public void setAddTime(Timestamp addTime) {
+        this.addTime = addTime;
+    }
+
+    public Timestamp getAddTime() {
+        return addTime;
+    }
+
+    @Override
+    public String toString() {
+        return "EnvRealTimeEntity{" +
+                "id=" + id + '\'' +
+                "qn=" + qn + '\'' +
+                "st=" + st + '\'' +
+                "cn=" + cn + '\'' +
+                "mn=" + mn + '\'' +
+                "datetime=" + datetime + '\'' +
+                "hxxyl=" + hxxyl + '\'' +
+                "hxxylzt=" + hxxylzt + '\'' +
+                "ad=" + ad + '\'' +
+                "adzt=" + adzt + '\'' +
+                "ph=" + ph + '\'' +
+                "phzt=" + phzt + '\'' +
+                "ws=" + ws + '\'' +
+                "wszt=" + wszt + '\'' +
+                "addTime=" + addTime + '\'' +
+                '}';
+    }
+}

+ 9 - 0
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/dao/repo/EnvHourRepo.java

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

+ 9 - 0
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/dao/repo/EnvMinuteRepo.java

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

+ 9 - 0
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/dao/repo/EnvRealTimeRepo.java

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

+ 386 - 23
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/server/EnvironDataHandler.java

@@ -1,10 +1,21 @@
 package com.huimv.environ.server;
 
+import com.huimv.environ.dao.entity.EnvHourEntity;
+import com.huimv.environ.dao.entity.EnvMinuteEntity;
+import com.huimv.environ.dao.entity.EnvRealTimeEntity;
 import com.huimv.environ.dao.entity.EnvironmentDataEntity;
+import com.huimv.environ.dao.repo.EnvHourRepo;
+import com.huimv.environ.dao.repo.EnvMinuteRepo;
+import com.huimv.environ.dao.repo.EnvRealTimeRepo;
 import com.huimv.environ.dao.repo.EnvironmentDataRepo;
+import com.huimv.environ.utils.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
 
+import java.sql.Timestamp;
+import java.text.ParseException;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -19,34 +30,386 @@ import java.util.Map;
 @Component
 public class EnvironDataHandler {
     @Autowired
-    private EnvironmentDataRepo environmentDataRepo;
+    private EnvHourRepo envHourRepo;
+    @Autowired
+    private EnvMinuteRepo envMinuteRepo;
+    @Autowired
+    private EnvRealTimeRepo envRealTimeRepo;
+    @Autowired
+    private DateUtil dateUtil;
 
+    public void handleReceiveData1(String receiveData){
+        System.out.println("test");
+    }
     //
-    private void handleReceiveData(String receiveData) {
-        EnvironmentDataEntity environmentDataEntity = new EnvironmentDataEntity();
-        /** 处理参数 */
-        Map envMap = getEnvData(receiveData);
-        System.out.println("TEST envMap>>"+envMap);
-        if (!envMap.isEmpty()) {
-            environmentDataEntity.setDate(envMap.get("date").toString());
-            environmentDataEntity.setHour(Integer.parseInt(envMap.get("hour").toString()));
-            environmentDataEntity.setQn(envMap.get("qn").toString());
-            environmentDataEntity.setDateTime(envMap.get("datatime").toString());
-            environmentDataEntity.setHxxyl(envMap.get("hxxyl").toString());
-            environmentDataEntity.setAd(envMap.get("ad").toString());
-            environmentDataEntity.setZl(envMap.get("zl").toString());
-            environmentDataEntity.setZd(envMap.get("zd").toString());
-            environmentDataEntity.setPh(envMap.get("ph").toString());
-            environmentDataEntity.setWs(Float.parseFloat(envMap.get("ws").toString()));
-            environmentDataEntity.setWslj(Float.parseFloat(envMap.get("wslj").toString()));
-            environmentDataRepo.save(environmentDataEntity);
-        } else {
-            System.out.println("空数据");
+    public void handleReceiveData(String receiveData) throws ParseException {
+
+//        System.out.println("解析处理数据......");
+        String[] receiveDataArray = receiveData.split(";");
+//        System.out.println("receiveDataArray="+receiveDataArray.length);
+//        for(int a=0;a<receiveDataArray.length;a++){
+//            System.out.println(a+" "+receiveDataArray[a]);
+//        }
+        //System.currentTimeMillis()
+        String stText = receiveDataArray[1];
+        if(stText.indexOf("ST=") != -1){
+            String st = stText.substring(stText.indexOf("ST=")+3,stText.length());
+            if(st.trim().equalsIgnoreCase("32")){
+                String cnText = receiveDataArray[2];
+                if(cnText.indexOf("CN=") != -1){
+                    String cn = cnText.substring(cnText.indexOf("CN=")+3,cnText.length());
+                    if(cn.trim().equalsIgnoreCase("2011"))
+                    {
+                        //实时采样数据
+                        System.out.println(dateUtil.getTodayText()+" -->当前处理实时采集数据.");
+                        EnvRealTimeEntity envRealTimeEntity = new EnvRealTimeEntity();
+                        envRealTimeEntity.setSt(st);
+                        envRealTimeEntity.setCn(cn);
+                        //qn
+                        String qnText = receiveDataArray[0];
+                        String qn = qnText.substring(qnText.indexOf("QN=")+3,qnText.length());
+                        envRealTimeEntity.setQn(qn);
+                        //mn
+                        String mnText = receiveDataArray[4];
+                        String mn = mnText.substring(mnText.indexOf("MN=")+3,mnText.length());
+                        envRealTimeEntity.setMn(mn);
+                        //flag
+//                        String flagText = receiveDataArray[5];
+//                        String flag = flagText.substring(flagText.indexOf("Flag=")+5,flagText.length());
+                        //datetime
+                        String datetimeText = receiveDataArray[6];
+                        String datetime = datetimeText.substring(datetimeText.indexOf("DataTime=")+9,datetimeText.length());
+                        envRealTimeEntity.setDatetime(new Timestamp(dateUtil.parseDateTimeLong(dateUtil.rebuildDateTime(datetime))));
+                        //w01018
+                        String w01018Text = receiveDataArray[7];
+                        String[] w01018TextArray = w01018Text.split(",");
+                        //value1
+                        String  w01018TextData = w01018TextArray[0];
+                        String[] w01018TextDataArray = w01018TextData.split("=");
+                        String value1 = w01018TextDataArray[1];
+                        envRealTimeEntity.setHxxyl(value1);
+                        //flag1
+                        String  w01018TextFlag = w01018TextArray[1];
+                        String[] w01018TextFlagArray = w01018TextFlag.split("=");
+                        String state1 = w01018TextFlagArray[1];
+                        envRealTimeEntity.setHxxylzt(state1);
+                        //w21003
+                        String w21003Text = receiveDataArray[8];
+                        String[] w21003TextArray = w21003Text.split(",");
+                        //value
+                        String  w21003TextData = w21003TextArray[0];
+                        String[] w21003TextDataArray = w21003TextData.split("=");
+                        String value2 = w21003TextDataArray[1];
+                        envRealTimeEntity.setAd(value2);
+                        //flag
+                        String  w21003TextFlag = w21003TextArray[1];
+                        String[] w21003TextFlagArray = w21003TextFlag.split("=");
+                        String state2 = w21003TextFlagArray[1];
+                        envRealTimeEntity.setAdzt(state2);
+                        //w01001
+                        String w01001Text = receiveDataArray[9];
+                        String[] w01001TextArray = w01001Text.split(",");
+                        //value
+                        String  w01001TextData = w01001TextArray[0];
+                        String[] w01001TextDataArray = w01001TextData.split("=");
+                        String value3 = w01001TextDataArray[1];
+                        envRealTimeEntity.setPh(value3);
+                        //flag
+                        String  w01001TextFlag = w01001TextArray[1];
+                        String[] w01001TextFlagArray = w01001TextFlag.split("=");
+                        String state3 = w01001TextFlagArray[1];
+                        envRealTimeEntity.setPhzt(state3);
+                        //w00000
+                        String w00000Text = receiveDataArray[10];
+                        String[] w00000TextArray = w00000Text.split(",");
+                        //value
+                        String  w00000TextData = w00000TextArray[0];
+                        String[] w00000TextDataArray = w00000TextData.split("=");
+                        String value4 = w00000TextDataArray[1];
+                        envRealTimeEntity.setWs(value4);
+                        //flag
+                        String  w00000TextFlag = w00000TextArray[1];
+                        String[] w00000TextFlagArray = w00000TextFlag.split("=");
+                        String state4 = w00000TextFlagArray[1];
+                        state4 = state4.substring(0,1);
+                        envRealTimeEntity.setWszt(state4);
+                        //add_time
+                        envRealTimeEntity.setAddTime(new Timestamp(new Date().getTime()));
+                        envRealTimeRepo.save(envRealTimeEntity);
+                    }else  if(cn.trim().equalsIgnoreCase("2051")){
+                        //分钟采样数据
+                        System.out.println(dateUtil.getTodayText()+" -->当前处理分钟采集数据.");
+                        EnvMinuteEntity envMinuteEntity = new EnvMinuteEntity();
+                        envMinuteEntity.setSt(st);
+                        envMinuteEntity.setCn(cn);
+                        //qn
+                        String qnText = receiveDataArray[0];
+                        String qn = qnText.substring(qnText.indexOf("QN=")+3,qnText.length());
+                        envMinuteEntity.setQn(qn);
+                        //mn
+                        String mnText = receiveDataArray[4];
+                        String mn = mnText.substring(mnText.indexOf("MN=")+3,mnText.length());
+                        envMinuteEntity.setMn(mn);
+                        //flag
+//                        String flagText = receiveDataArray[5];
+//                        String flag = flagText.substring(flagText.indexOf("Flag=")+5,flagText.length());
+                        //datetime
+                        String datetimeText = receiveDataArray[6];
+                        String datetime = datetimeText.substring(datetimeText.indexOf("DataTime=")+9,datetimeText.length());
+                        envMinuteEntity.setDatetime(new Timestamp(dateUtil.parseDateTimeLong(dateUtil.rebuildDateTime(datetime))));
+                        //w01018
+                        String w01018Text = receiveDataArray[7];
+                        String[] w01018TextArray = w01018Text.split(",");
+                        //valueMin1
+                        String  w01018TextMin = w01018TextArray[0];
+                        String[] w01018TextMinArray = w01018TextMin.split("=");
+                        String valueMin1 = w01018TextMinArray[1];
+                        envMinuteEntity.setHxxylZx(valueMin1);
+                        //valueMin2
+                        String  w01018TextMax = w01018TextArray[1];
+                        String[] w01018TextMaxArray = w01018TextMax.split("=");
+                        String valueMax1 = w01018TextMaxArray[1];
+                        envMinuteEntity.setHxxylZd(valueMax1);
+                        //valueAvg1
+                        String  w01018TextAvg = w01018TextArray[2];
+                        String[] w01018TextAvgArray = w01018TextAvg.split("=");
+                        String valueAvg1 = w01018TextAvgArray[1];
+                        envMinuteEntity.setHxxylPj(valueAvg1);
+                        //flag1
+                        String  w01018TextFlag = w01018TextArray[4];
+                        String[] w01018TextFlagArray = w01018TextFlag.split("=");
+                        String state1 = w01018TextFlagArray[1];
+                        envMinuteEntity.setHxxylzt(state1);
+                        //w21003
+                        String w21003Text = receiveDataArray[8];
+                        String[] w21003TextArray = w21003Text.split(",");
+                        //valueMin2
+                        String  w21003TextMin = w21003TextArray[0];
+                        String[] w21003TextMinArray = w21003TextMin.split("=");
+                        String valueMin2 = w21003TextMinArray[1];
+                        envMinuteEntity.setAdZx(valueMin2);
+                        //valueMax2
+                        String  w21003TextMax = w21003TextArray[1];
+                        String[] w21003TextMaxArray = w21003TextMax.split("=");
+                        String valueMax2 = w21003TextMaxArray[1];
+                        envMinuteEntity.setAdZd(valueMax2);
+                        //valueAvg2
+                        String  w21003TextAvg = w21003TextArray[2];
+                        String[] w21003TextAvgArray = w21003TextAvg.split("=");
+                        String valueAvg2 = w21003TextAvgArray[1];
+                        envMinuteEntity.setAdPj(valueAvg2);
+                        //flag4
+                        String  w21003TextFlag = w21003TextArray[4];
+                        String[] w21003TextFlagArray = w21003TextFlag.split("=");
+                        String state2 = w21003TextFlagArray[1];
+                        envMinuteEntity.setAdzt(state2);
+                        //w01001
+                        String w01001Text = receiveDataArray[9];
+                        String[] w01001TextArray = w01001Text.split(",");
+                        //valueMin3
+                        String  w01001TextMin = w01001TextArray[0];
+                        String[] w01001TextMinArray = w01001TextMin.split("=");
+                        String valueMin3 = w01001TextMinArray[1];
+                        envMinuteEntity.setPhZx(valueMin3);
+                        //valueMax3
+                        String  w01001TextMax = w01001TextArray[1];
+                        String[] w01001TextMaxArray = w01001TextMax.split("=");
+                        String valueMax3 = w01001TextMaxArray[1];
+                        envMinuteEntity.setPhZd(valueMax3);
+                        //valueAvg3
+                        String  w01001TextAvg = w01001TextArray[2];
+                        String[] w01001TextAvgArray = w01001TextAvg.split("=");
+                        String valueAvg3 = w01001TextAvgArray[1];
+                        envMinuteEntity.setPhPj(valueAvg3);
+                        //flag3
+                        String  w01001TextFlag = w01001TextArray[3];
+                        String[] w01001TextFlagArray = w01001TextFlag.split("=");
+                        String state3 = w01001TextFlagArray[1];
+                        envMinuteEntity.setPhzt(state3);
+                        //w00000
+                        String w00000Text = receiveDataArray[10];
+                        String[] w00000TextArray = w00000Text.split(",");
+                        //valueMin4
+                        String  w00000TextMin = w00000TextArray[0];
+                        String[] w00000TextMinArray = w00000TextMin.split("=");
+                        String valueMin4 = w00000TextMinArray[1];
+                        envMinuteEntity.setWsZx(valueMin4);
+                        //valueMax4
+                        String  w00000TextMax = w00000TextArray[1];
+                        String[] w00000TextMaxArray = w00000TextMax.split("=");
+                        String valueMax4 = w00000TextMaxArray[1];
+                        envMinuteEntity.setWsZd(valueMax4);
+                        //valueAvg4
+                        String  w00000TextAvg = w00000TextArray[2];
+                        String[] w00000TextAvgArray = w00000TextAvg.split("=");
+                        String valueAvg4 = w00000TextAvgArray[1];
+                        envMinuteEntity.setWsPj(valueAvg4);
+                        //flag4
+                        String  w00000TextFlag = w00000TextArray[4];
+                        String[] w00000TextFlagArray = w00000TextFlag.split("=");
+                        String state4 = w00000TextFlagArray[1];
+                        state4 = state4.substring(0,1);
+                        envMinuteEntity.setWszt(state4);
+                        //add_time
+                        envMinuteEntity.setAddTime(new Timestamp(new Date().getTime()));
+                        EnvMinuteEntity addResult = envMinuteRepo.save(envMinuteEntity);
+                    }else  if(cn.trim().equalsIgnoreCase("2061")){
+                        //小时采样数据
+                        System.out.println(dateUtil.getTodayText()+" -->当前处理小时采集数据.");
+                        EnvHourEntity envHourEntity = new EnvHourEntity();
+                        envHourEntity.setSt(st);
+                        envHourEntity.setCn(cn);
+                        //qn
+                        String qnText = receiveDataArray[0];
+                        String qn = qnText.substring(qnText.indexOf("QN=")+3,qnText.length());
+                        envHourEntity.setQn(qn);
+                        //mn
+                        String mnText = receiveDataArray[4];
+                        String mn = mnText.substring(mnText.indexOf("MN=")+3,mnText.length());
+                        envHourEntity.setMn(mn);
+                        //flag
+//                        String flagText = receiveDataArray[5];
+//                        String flag = flagText.substring(flagText.indexOf("Flag=")+5,flagText.length());
+                        //datetime
+                        String datetimeText = receiveDataArray[6];
+                        String datetime = datetimeText.substring(datetimeText.indexOf("DataTime=")+9,datetimeText.length());
+                        envHourEntity.setDatetime(new Timestamp(dateUtil.parseDateTimeLong(dateUtil.rebuildDateTime(datetime))));
+                        //w01018
+                        String w01018Text = receiveDataArray[7];
+                        String[] w01018TextArray = w01018Text.split(",");
+                        //valueMin1
+                        String  w01018TextMin = w01018TextArray[0];
+                        String[] w01018TextMinArray = w01018TextMin.split("=");
+                        String valueMin1 = w01018TextMinArray[1];
+                        envHourEntity.setHxxylZx(valueMin1);
+                        //valueMin2
+                        String  w01018TextMax = w01018TextArray[1];
+                        String[] w01018TextMaxArray = w01018TextMax.split("=");
+                        String valueMax1 = w01018TextMaxArray[1];
+                        envHourEntity.setHxxylZd(valueMax1);
+                        //valueAvg1
+                        String  w01018TextAvg = w01018TextArray[2];
+                        String[] w01018TextAvgArray = w01018TextAvg.split("=");
+                        String valueAvg1 = w01018TextAvgArray[1];
+                        envHourEntity.setHxxylPj(valueAvg1);
+                        //flag1
+                        String  w01018TextFlag = w01018TextArray[4];
+                        String[] w01018TextFlagArray = w01018TextFlag.split("=");
+                        String state1 = w01018TextFlagArray[1];
+                        envHourEntity.setHxxylzt(state1);
+                        //w21003
+                        String w21003Text = receiveDataArray[8];
+                        String[] w21003TextArray = w21003Text.split(",");
+                        //valueMin2
+                        String  w21003TextMin = w21003TextArray[0];
+                        String[] w21003TextMinArray = w21003TextMin.split("=");
+                        String valueMin2 = w21003TextMinArray[1];
+                        envHourEntity.setAdZx(valueMin2);
+                        //valueMax2
+                        String  w21003TextMax = w21003TextArray[1];
+                        String[] w21003TextMaxArray = w21003TextMax.split("=");
+                        String valueMax2 = w21003TextMaxArray[1];
+                        envHourEntity.setAdZd(valueMax2);
+                        //valueAvg2
+                        String  w21003TextAvg = w21003TextArray[2];
+                        String[] w21003TextAvgArray = w21003TextAvg.split("=");
+                        String valueAvg2 = w21003TextAvgArray[1];
+                        envHourEntity.setAdPj(valueAvg2);
+                        //flag4
+                        String  w21003TextFlag = w21003TextArray[4];
+                        String[] w21003TextFlagArray = w21003TextFlag.split("=");
+                        String state2 = w21003TextFlagArray[1];
+                        envHourEntity.setAdzt(state2);
+                        //w01001
+                        String w01001Text = receiveDataArray[9];
+                        String[] w01001TextArray = w01001Text.split(",");
+                        //valueMin3
+                        String  w01001TextMin = w01001TextArray[0];
+                        String[] w01001TextMinArray = w01001TextMin.split("=");
+                        String valueMin3 = w01001TextMinArray[1];
+                        envHourEntity.setPhZx(valueMin3);
+                        //valueMax3
+                        String  w01001TextMax = w01001TextArray[1];
+                        String[] w01001TextMaxArray = w01001TextMax.split("=");
+                        String valueMax3 = w01001TextMaxArray[1];
+                        envHourEntity.setPhZd(valueMax3);
+                        //valueAvg3
+                        String  w01001TextAvg = w01001TextArray[2];
+                        String[] w01001TextAvgArray = w01001TextAvg.split("=");
+                        String valueAvg3 = w01001TextAvgArray[1];
+                        envHourEntity.setPhPj(valueAvg3);
+                        //flag3
+                        String  w01001TextFlag = w01001TextArray[3];
+                        String[] w01001TextFlagArray = w01001TextFlag.split("=");
+                        String state3 = w01001TextFlagArray[1];
+                        envHourEntity.setPhzt(state3);
+                        //w00000
+                        String w00000Text = receiveDataArray[10];
+                        String[] w00000TextArray = w00000Text.split(",");
+                        //valueMin4
+                        String  w00000TextMin = w00000TextArray[0];
+                        String[] w00000TextMinArray = w00000TextMin.split("=");
+                        String valueMin4 = w00000TextMinArray[1];
+                        envHourEntity.setWsZx(valueMin4);
+                        //valueMax4
+                        String  w00000TextMax = w00000TextArray[1];
+                        String[] w00000TextMaxArray = w00000TextMax.split("=");
+                        String valueMax4 = w00000TextMaxArray[1];
+                        envHourEntity.setWsZd(valueMax4);
+                        //valueAvg4
+                        String  w00000TextAvg = w00000TextArray[2];
+                        String[] w00000TextAvgArray = w00000TextAvg.split("=");
+                        String valueAvg4 = w00000TextAvgArray[1];
+                        envHourEntity.setWsPj(valueAvg4);
+                        //flag4
+                        String  w00000TextFlag = w00000TextArray[4];
+                        String[] w00000TextFlagArray = w00000TextFlag.split("=");
+                        String state4 = w00000TextFlagArray[1];
+                        state4 = state4.substring(0,1);
+                        envHourEntity.setWszt(state4);
+                        //add_time
+                        envHourEntity.setAddTime(new Timestamp(new Date().getTime()));
+                        envHourRepo.save(envHourEntity);
+                    }else  if(cn.trim().equalsIgnoreCase("2031")){
+                        //日采样历史数据
+                        System.out.println("日采样历史数据不处理!");
+                    }else{
+                        System.out.println("其他数据不处理!");
+                    }
+                }else{
+                }
+            }else{
+                System.out.println("该数据非污染物实时采样数据");
+            }
         }
-        /*  */
-//        return getResultMap("code","message",null);
     }
 
+
+//    public void handleReceiveData(String receiveData) {
+//        EnvironmentDataEntity environmentDataEntity = new EnvironmentDataEntity();
+//        /** 处理参数 */
+//        Map envMap = getEnvData(receiveData);
+//        System.out.println("TEST envMap>>"+envMap);
+//        if (!envMap.isEmpty()) {
+//            environmentDataEntity.setDate(envMap.get("date").toString());
+//            environmentDataEntity.setHour(Integer.parseInt(envMap.get("hour").toString()));
+//            environmentDataEntity.setQn(envMap.get("qn").toString());
+//            environmentDataEntity.setDateTime(envMap.get("datatime").toString());
+//            environmentDataEntity.setHxxyl(envMap.get("hxxyl").toString());
+//            environmentDataEntity.setAd(envMap.get("ad").toString());
+//            environmentDataEntity.setZl(envMap.get("zl").toString());
+//            environmentDataEntity.setZd(envMap.get("zd").toString());
+//            environmentDataEntity.setPh(envMap.get("ph").toString());
+//            environmentDataEntity.setWs(Float.parseFloat(envMap.get("ws").toString()));
+//            environmentDataEntity.setWslj(Float.parseFloat(envMap.get("wslj").toString()));
+//            environmentDataRepo.save(environmentDataEntity);
+//        } else {
+//            System.out.println("空数据");
+//        }
+//        /*  */
+////        return getResultMap("code","message",null);
+//    }
+
     //处理污水数据
     private Map getEnvData(String receiveData) {
         Map dataMap = new HashMap();

+ 6 - 2
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/server/EnvironServer.java

@@ -7,7 +7,9 @@ import io.netty.channel.EventLoopGroup;
 import io.netty.channel.nio.NioEventLoopGroup;
 import io.netty.channel.socket.SocketChannel;
 import io.netty.channel.socket.nio.NioServerSocketChannel;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
 
 import java.net.InetSocketAddress;
 
@@ -19,9 +21,11 @@ import java.net.InetSocketAddress;
  * @Author : ZhuoNing
  * @Create : 2020-12-25
  **/
-@Component
+@Service
 public class EnvironServer {
     private final static int port = 10010;
+    @Autowired
+    private EnvironServerHandler serverHandler;
 
     public static void main(String[] args) {
         EnvironServer dataServer = new EnvironServer();
@@ -30,7 +34,7 @@ public class EnvironServer {
 
     public void start() {
         System.out.println("# 监听端口      :" + port);
-        final EnvironServerHandler serverHandler = new EnvironServerHandler();
+//        final EnvironServerHandler serverHandler = new EnvironServerHandler();
         // 创建EventLoopGroup
         EventLoopGroup bossGroup = new NioEventLoopGroup();
         EventLoopGroup workerGroup = new NioEventLoopGroup();

+ 384 - 4
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/server/EnvironServerHandler.java

@@ -1,5 +1,12 @@
 package com.huimv.environ.server;
 
+import com.huimv.environ.dao.entity.EnvHourEntity;
+import com.huimv.environ.dao.entity.EnvMinuteEntity;
+import com.huimv.environ.dao.entity.EnvRealTimeEntity;
+import com.huimv.environ.dao.repo.EnvHourRepo;
+import com.huimv.environ.dao.repo.EnvMinuteRepo;
+import com.huimv.environ.dao.repo.EnvRealTimeRepo;
+import com.huimv.environ.utils.DateUtil;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 import io.netty.channel.ChannelFutureListener;
@@ -7,6 +14,12 @@ import io.netty.channel.ChannelHandler.Sharable;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.ChannelInboundHandlerAdapter;
 import io.netty.util.CharsetUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.sql.Timestamp;
+import java.text.ParseException;
+import java.util.Date;
 
 /**
  * @Project : huimv.shiwan
@@ -18,7 +31,10 @@ import io.netty.util.CharsetUtil;
  **/
 
 @Sharable
+@Component
 public class EnvironServerHandler extends ChannelInboundHandlerAdapter{
+    @Autowired
+    private EnvironDataHandler environDataHandler;
     @Override
     public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
         //将客户端传入的消息转换为Netty的ByteBuf类型
@@ -26,9 +42,15 @@ public class EnvironServerHandler extends ChannelInboundHandlerAdapter{
         String receive = in.toString(CharsetUtil.UTF_8);
 
         // 在控制台打印传入的消息
-        System.out.println(
-                "Server received: " + in.toString(CharsetUtil.UTF_8)
-        );
+//        System.out.println(
+//                "Server received: " + in.toString(CharsetUtil.UTF_8)
+//        );
+//        System.out.println("接收到数据>>"+receive);
+        //处理接收环保实时数据
+//
+//        EnvironDataHandler environDataHandler = new EnvironDataHandler();
+        environDataHandler.handleReceiveData(receive);
+//        handleReceiveData(receive);
 
         //将接收到的消息写给发送者,而不冲刷出站消息 (应答)
 //        ctx.write(in);
@@ -56,5 +78,363 @@ public class EnvironServerHandler extends ChannelInboundHandlerAdapter{
         ctx.close();
     }
 
-
+//    //
+//    public void handleReceiveData(String receiveData) throws ParseException {
+//        System.out.println("开始解析数据");
+//        DateUtil dateUtil = new DateUtil();
+//        String[] receiveDataArray = receiveData.split(";");
+////        System.out.println("receiveDataArray="+receiveDataArray.length);
+//        for(int a=0;a<receiveDataArray.length;a++){
+//            System.out.println(a+" "+receiveDataArray[a]);
+//        }
+//        System.out.println();
+//        String stText = receiveDataArray[1];
+//        if(stText.indexOf("ST=") != -1){
+//            String st = stText.substring(stText.indexOf("ST=")+3,stText.length());
+//            if(st.trim().equalsIgnoreCase("32")){
+//                String cnText = receiveDataArray[2];
+//                if(cnText.indexOf("CN=") != -1){
+//                    String cn = cnText.substring(cnText.indexOf("CN=")+3,cnText.length());
+//                    System.out.println(""+cn);
+//                    if(cn.trim().equalsIgnoreCase("2011"))
+//                    {
+//                        //实时采样数据
+//                        System.out.println("实时");
+//                        EnvRealTimeEntity envRealTimeEntity = new EnvRealTimeEntity();
+//                        envRealTimeEntity.setSt(st);
+//                        envRealTimeEntity.setCn(cn);
+//                        //qn
+//                        String qnText = receiveDataArray[0];
+//                        String qn = qnText.substring(qnText.indexOf("QN=")+3,qnText.length());
+//                        System.out.println("qn>>"+qn);
+//                        envRealTimeEntity.setQn(qn);
+//                        //mn
+//                        String mnText = receiveDataArray[4];
+//                        String mn = mnText.substring(mnText.indexOf("MN=")+3,mnText.length());
+//                        System.out.println("mn>>"+mn);
+//                        envRealTimeEntity.setMn(mn);
+//                        //flag
+////                        String flagText = receiveDataArray[5];
+////                        String flag = flagText.substring(flagText.indexOf("Flag=")+5,flagText.length());
+////                        System.out.println("flag>>"+flag);
+//                        //datetime
+//                        String datetimeText = receiveDataArray[6];
+//                        String datetime = datetimeText.substring(datetimeText.indexOf("DataTime=")+9,datetimeText.length());
+//                        System.out.println("datetime>>"+datetime+" "+dateUtil.parseDateTime(dateUtil.rebuildDateTime(datetime)));
+//                        envRealTimeEntity.setDatetime(new Timestamp(dateUtil.parseDateTimeLong(dateUtil.rebuildDateTime(datetime))));
+//                        //w01018
+//                        String w01018Text = receiveDataArray[7];
+//                        String[] w01018TextArray = w01018Text.split(",");
+//                        //value1
+//                        String  w01018TextData = w01018TextArray[0];
+//                        String[] w01018TextDataArray = w01018TextData.split("=");
+//                        String value1 = w01018TextDataArray[1];
+//                        envRealTimeEntity.setHxxyl(value1);
+//                        //flag1
+//                        String  w01018TextFlag = w01018TextArray[1];
+//                        String[] w01018TextFlagArray = w01018TextFlag.split("=");
+//                        String state1 = w01018TextFlagArray[1];
+//                        envRealTimeEntity.setHxxylzt(state1);
+////                        System.out.println(value1+","+state1);
+//
+//                        //w21003
+//                        String w21003Text = receiveDataArray[8];
+//                        String[] w21003TextArray = w21003Text.split(",");
+//                        //value
+//                        String  w21003TextData = w21003TextArray[0];
+//                        String[] w21003TextDataArray = w21003TextData.split("=");
+//                        String value2 = w21003TextDataArray[1];
+//                        envRealTimeEntity.setAd(value2);
+//                        //flag
+//                        String  w21003TextFlag = w21003TextArray[1];
+//                        String[] w21003TextFlagArray = w21003TextFlag.split("=");
+//                        String state2 = w21003TextFlagArray[1];
+//                        envRealTimeEntity.setAdzt(state2);
+//                        System.out.println(value2+","+state2);
+//
+//                        //w01001
+//                        String w01001Text = receiveDataArray[9];
+//                        String[] w01001TextArray = w01001Text.split(",");
+//                        //value
+//                        String  w01001TextData = w01001TextArray[0];
+//                        String[] w01001TextDataArray = w01001TextData.split("=");
+//                        String value3 = w01001TextDataArray[1];
+//                        envRealTimeEntity.setPh(value3);
+//                        //flag
+//                        String  w01001TextFlag = w01001TextArray[1];
+//                        String[] w01001TextFlagArray = w01001TextFlag.split("=");
+//                        String state3 = w01001TextFlagArray[1];
+//                        envRealTimeEntity.setPhzt(state3);
+////                        System.out.println(value3+","+state3);
+//
+//                        //w00000
+//                        String w00000Text = receiveDataArray[10];
+//                        String[] w00000TextArray = w00000Text.split(",");
+//                        //value
+//                        String  w00000TextData = w00000TextArray[0];
+//                        String[] w00000TextDataArray = w00000TextData.split("=");
+//                        String value4 = w00000TextDataArray[1];
+//                        envRealTimeEntity.setWs(value4);
+//                        //flag
+//                        String  w00000TextFlag = w00000TextArray[1];
+//                        String[] w00000TextFlagArray = w00000TextFlag.split("=");
+//                        String state4 = w00000TextFlagArray[1];
+//                        state4 = state4.substring(0,1);
+//                        envRealTimeEntity.setWszt(state4);
+//                        //add_time
+//                        envRealTimeEntity.setAddTime(new Timestamp(new Date().getTime()));
+//                        envRealTimeRepo.save(envRealTimeEntity);
+//                    }else  if(cn.trim().equalsIgnoreCase("2051")){
+//                        //分钟采样数据
+//                        System.out.println("分钟");
+//                        EnvMinuteEntity envMinuteEntity = new EnvMinuteEntity();
+//                        envMinuteEntity.setSt(st);
+//                        envMinuteEntity.setCn(cn);
+//                        //qn
+//                        String qnText = receiveDataArray[0];
+//                        String qn = qnText.substring(qnText.indexOf("QN=")+3,qnText.length());
+//                        System.out.println("qn>>"+qn);
+//                        envMinuteEntity.setQn(qn);
+//                        //mn
+//                        String mnText = receiveDataArray[4];
+//                        String mn = mnText.substring(mnText.indexOf("MN=")+3,mnText.length());
+//                        System.out.println("mn>>"+mn);
+//                        envMinuteEntity.setMn(mn);
+//                        //flag
+////                        String flagText = receiveDataArray[5];
+////                        String flag = flagText.substring(flagText.indexOf("Flag=")+5,flagText.length());
+////                        System.out.println("flag>>"+flag);
+//                        //datetime
+//                        String datetimeText = receiveDataArray[6];
+//                        String datetime = datetimeText.substring(datetimeText.indexOf("DataTime=")+9,datetimeText.length());
+//                        envMinuteEntity.setDatetime(new Timestamp(dateUtil.parseDateTimeLong(dateUtil.rebuildDateTime(datetime))));
+//                        //w01018
+//                        String w01018Text = receiveDataArray[7];
+//                        String[] w01018TextArray = w01018Text.split(",");
+//                        //valueMin1
+//                        String  w01018TextMin = w01018TextArray[0];
+//                        String[] w01018TextMinArray = w01018TextMin.split("=");
+//                        String valueMin1 = w01018TextMinArray[1];
+//                        envMinuteEntity.setHxxylZx(valueMin1);
+//                        //valueMin2
+//                        String  w01018TextMax = w01018TextArray[1];
+//                        String[] w01018TextMaxArray = w01018TextMax.split("=");
+//                        String valueMax1 = w01018TextMaxArray[1];
+//                        envMinuteEntity.setHxxylZd(valueMax1);
+//                        //valueAvg1
+//                        String  w01018TextAvg = w01018TextArray[2];
+//                        String[] w01018TextAvgArray = w01018TextAvg.split("=");
+//                        String valueAvg1 = w01018TextAvgArray[1];
+//                        envMinuteEntity.setHxxylPj(valueAvg1);
+//                        //flag1
+//                        String  w01018TextFlag = w01018TextArray[4];
+//                        String[] w01018TextFlagArray = w01018TextFlag.split("=");
+//                        String state1 = w01018TextFlagArray[1];
+//                        envMinuteEntity.setHxxylzt(state1);
+//                        //w21003
+//                        String w21003Text = receiveDataArray[8];
+//                        String[] w21003TextArray = w21003Text.split(",");
+//                        //valueMin2
+//                        String  w21003TextMin = w21003TextArray[0];
+//                        String[] w21003TextMinArray = w21003TextMin.split("=");
+//                        String valueMin2 = w21003TextMinArray[1];
+//                        envMinuteEntity.setAdZx(valueMin2);
+//                        //valueMax2
+//                        String  w21003TextMax = w21003TextArray[1];
+//                        String[] w21003TextMaxArray = w21003TextMax.split("=");
+//                        String valueMax2 = w21003TextMaxArray[1];
+//                        envMinuteEntity.setAdZd(valueMax2);
+//                        //valueAvg2
+//                        String  w21003TextAvg = w21003TextArray[2];
+//                        String[] w21003TextAvgArray = w21003TextAvg.split("=");
+//                        String valueAvg2 = w21003TextAvgArray[1];
+//                        envMinuteEntity.setAdPj(valueAvg2);
+//                        //flag4
+//                        String  w21003TextFlag = w21003TextArray[4];
+//                        String[] w21003TextFlagArray = w21003TextFlag.split("=");
+//                        String state2 = w21003TextFlagArray[1];
+//                        envMinuteEntity.setAdzt(state2);
+//                        //w01001
+//                        String w01001Text = receiveDataArray[9];
+//                        String[] w01001TextArray = w01001Text.split(",");
+//                        //valueMin3
+//                        String  w01001TextMin = w01001TextArray[0];
+//                        String[] w01001TextMinArray = w01001TextMin.split("=");
+//                        String valueMin3 = w01001TextMinArray[1];
+//                        envMinuteEntity.setPhZx(valueMin3);
+//                        //valueMax3
+//                        String  w01001TextMax = w01001TextArray[1];
+//                        String[] w01001TextMaxArray = w01001TextMax.split("=");
+//                        String valueMax3 = w01001TextMaxArray[1];
+//                        envMinuteEntity.setPhZd(valueMax3);
+//                        //valueAvg3
+//                        String  w01001TextAvg = w01001TextArray[2];
+//                        String[] w01001TextAvgArray = w01001TextAvg.split("=");
+//                        String valueAvg3 = w01001TextAvgArray[1];
+//                        envMinuteEntity.setPhPj(valueAvg3);
+//                        //flag3
+//                        String  w01001TextFlag = w01001TextArray[3];
+//                        String[] w01001TextFlagArray = w01001TextFlag.split("=");
+//                        String state3 = w01001TextFlagArray[1];
+//                        envMinuteEntity.setPhzt(state3);
+//                        //w00000
+//                        String w00000Text = receiveDataArray[10];
+//                        String[] w00000TextArray = w00000Text.split(",");
+//                        //valueMin4
+//                        String  w00000TextMin = w00000TextArray[0];
+//                        String[] w00000TextMinArray = w00000TextMin.split("=");
+//                        String valueMin4 = w00000TextMinArray[1];
+//                        envMinuteEntity.setWsZx(valueMin4);
+//                        //valueMax4
+//                        String  w00000TextMax = w00000TextArray[1];
+//                        String[] w00000TextMaxArray = w00000TextMax.split("=");
+//                        String valueMax4 = w00000TextMaxArray[1];
+//                        envMinuteEntity.setWsZd(valueMax4);
+//                        //valueAvg4
+//                        String  w00000TextAvg = w00000TextArray[2];
+//                        String[] w00000TextAvgArray = w00000TextAvg.split("=");
+//                        String valueAvg4 = w00000TextAvgArray[1];
+//                        envMinuteEntity.setWsPj(valueAvg4);
+//                        //flag4
+//                        String  w00000TextFlag = w00000TextArray[4];
+//                        String[] w00000TextFlagArray = w00000TextFlag.split("=");
+//                        String state4 = w00000TextFlagArray[1];
+//                        state4 = state4.substring(0,1);
+//                        envMinuteEntity.setWszt(state4);
+//                        //add_time
+//                        envMinuteEntity.setAddTime(new Timestamp(new Date().getTime()));
+//                        EnvMinuteEntity addResult = envMinuteRepo.save(envMinuteEntity);
+//                    }else  if(cn.trim().equalsIgnoreCase("2061")){
+//                        //小时采样数据
+//                        System.out.println("小时");
+//                        EnvHourEntity envHourEntity = new EnvHourEntity();
+//                        envHourEntity.setSt(st);
+//                        envHourEntity.setCn(cn);
+//                        //qn
+//                        String qnText = receiveDataArray[0];
+//                        String qn = qnText.substring(qnText.indexOf("QN=")+3,qnText.length());
+//                        System.out.println("qn>>"+qn);
+//                        envHourEntity.setQn(qn);
+//                        //mn
+//                        String mnText = receiveDataArray[4];
+//                        String mn = mnText.substring(mnText.indexOf("MN=")+3,mnText.length());
+//                        System.out.println("mn>>"+mn);
+//                        envHourEntity.setMn(mn);
+//                        //flag
+////                        String flagText = receiveDataArray[5];
+////                        String flag = flagText.substring(flagText.indexOf("Flag=")+5,flagText.length());
+////                        System.out.println("flag>>"+flag);
+//                        //datetime
+//                        String datetimeText = receiveDataArray[6];
+//                        String datetime = datetimeText.substring(datetimeText.indexOf("DataTime=")+9,datetimeText.length());
+//                        envHourEntity.setDatetime(new Timestamp(dateUtil.parseDateTimeLong(dateUtil.rebuildDateTime(datetime))));
+//                        //w01018
+//                        String w01018Text = receiveDataArray[7];
+//                        String[] w01018TextArray = w01018Text.split(",");
+//                        //valueMin1
+//                        String  w01018TextMin = w01018TextArray[0];
+//                        String[] w01018TextMinArray = w01018TextMin.split("=");
+//                        String valueMin1 = w01018TextMinArray[1];
+//                        envHourEntity.setHxxylZx(valueMin1);
+//                        //valueMin2
+//                        String  w01018TextMax = w01018TextArray[1];
+//                        String[] w01018TextMaxArray = w01018TextMax.split("=");
+//                        String valueMax1 = w01018TextMaxArray[1];
+//                        envHourEntity.setHxxylZd(valueMax1);
+//                        //valueAvg1
+//                        String  w01018TextAvg = w01018TextArray[2];
+//                        String[] w01018TextAvgArray = w01018TextAvg.split("=");
+//                        String valueAvg1 = w01018TextAvgArray[1];
+//                        envHourEntity.setHxxylPj(valueAvg1);
+//                        //flag1
+//                        String  w01018TextFlag = w01018TextArray[4];
+//                        String[] w01018TextFlagArray = w01018TextFlag.split("=");
+//                        String state1 = w01018TextFlagArray[1];
+//                        envHourEntity.setHxxylzt(state1);
+//                        //w21003
+//                        String w21003Text = receiveDataArray[8];
+//                        String[] w21003TextArray = w21003Text.split(",");
+//                        //valueMin2
+//                        String  w21003TextMin = w21003TextArray[0];
+//                        String[] w21003TextMinArray = w21003TextMin.split("=");
+//                        String valueMin2 = w21003TextMinArray[1];
+//                        envHourEntity.setAdZx(valueMin2);
+//                        //valueMax2
+//                        String  w21003TextMax = w21003TextArray[1];
+//                        String[] w21003TextMaxArray = w21003TextMax.split("=");
+//                        String valueMax2 = w21003TextMaxArray[1];
+//                        envHourEntity.setAdZd(valueMax2);
+//                        //valueAvg2
+//                        String  w21003TextAvg = w21003TextArray[2];
+//                        String[] w21003TextAvgArray = w21003TextAvg.split("=");
+//                        String valueAvg2 = w21003TextAvgArray[1];
+//                        envHourEntity.setAdPj(valueAvg2);
+//                        //flag4
+//                        String  w21003TextFlag = w21003TextArray[4];
+//                        String[] w21003TextFlagArray = w21003TextFlag.split("=");
+//                        String state2 = w21003TextFlagArray[1];
+//                        envHourEntity.setAdzt(state2);
+//                        //w01001
+//                        String w01001Text = receiveDataArray[9];
+//                        String[] w01001TextArray = w01001Text.split(",");
+//                        //valueMin3
+//                        String  w01001TextMin = w01001TextArray[0];
+//                        String[] w01001TextMinArray = w01001TextMin.split("=");
+//                        String valueMin3 = w01001TextMinArray[1];
+//                        envHourEntity.setPhZx(valueMin3);
+//                        //valueMax3
+//                        String  w01001TextMax = w01001TextArray[1];
+//                        String[] w01001TextMaxArray = w01001TextMax.split("=");
+//                        String valueMax3 = w01001TextMaxArray[1];
+//                        envHourEntity.setPhZd(valueMax3);
+//                        //valueAvg3
+//                        String  w01001TextAvg = w01001TextArray[2];
+//                        String[] w01001TextAvgArray = w01001TextAvg.split("=");
+//                        String valueAvg3 = w01001TextAvgArray[1];
+//                        envHourEntity.setPhPj(valueAvg3);
+//                        //flag3
+//                        String  w01001TextFlag = w01001TextArray[3];
+//                        String[] w01001TextFlagArray = w01001TextFlag.split("=");
+//                        String state3 = w01001TextFlagArray[1];
+//                        envHourEntity.setPhzt(state3);
+//                        //w00000
+//                        String w00000Text = receiveDataArray[10];
+//                        String[] w00000TextArray = w00000Text.split(",");
+//                        //valueMin4
+//                        String  w00000TextMin = w00000TextArray[0];
+//                        String[] w00000TextMinArray = w00000TextMin.split("=");
+//                        String valueMin4 = w00000TextMinArray[1];
+//                        envHourEntity.setWsZx(valueMin4);
+//                        //valueMax4
+//                        String  w00000TextMax = w00000TextArray[1];
+//                        String[] w00000TextMaxArray = w00000TextMax.split("=");
+//                        String valueMax4 = w00000TextMaxArray[1];
+//                        envHourEntity.setWsZd(valueMax4);
+//                        //valueAvg4
+//                        String  w00000TextAvg = w00000TextArray[2];
+//                        String[] w00000TextAvgArray = w00000TextAvg.split("=");
+//                        String valueAvg4 = w00000TextAvgArray[1];
+//                        envHourEntity.setWsPj(valueAvg4);
+//                        //flag4
+//                        String  w00000TextFlag = w00000TextArray[4];
+//                        String[] w00000TextFlagArray = w00000TextFlag.split("=");
+//                        String state4 = w00000TextFlagArray[1];
+//                        state4 = state4.substring(0,1);
+//                        envHourEntity.setWszt(state4);
+//                        //add_time
+//                        envHourEntity.setAddTime(new Timestamp(new Date().getTime()));
+//                        envHourRepo.save(envHourEntity);
+//                    }else  if(cn.trim().equalsIgnoreCase("2031")){
+//                        //日采样历史数据
+//                        System.out.println("日采样历史数据不处理!");
+//                    }else{
+//                        System.out.println("其他数据不处理!");
+//                    }
+//                }else{
+//                }
+//            }else{
+//                System.out.println("该数据非污染物实时采样数据");
+//            }
+//        }
+//    }
 }

+ 8 - 0
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/service/IEnviron.java

@@ -0,0 +1,8 @@
+package com.huimv.environ.service;
+
+import java.io.IOException;
+
+public interface IEnviron {
+    
+    void sendEnviron() throws IOException;
+}

+ 7 - 6
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/client/EnvironClient.java

@@ -1,9 +1,9 @@
-package com.huimv.environ.client;
+package com.huimv.environ.service.impl;
 
-import com.alibaba.fastjson.JSONObject;
+import com.huimv.environ.service.IEnviron;
 import com.huimv.environ.utils.HttpTemplete;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
 
 import java.io.IOException;
 import java.util.HashMap;
@@ -17,8 +17,8 @@ import java.util.Map;
  * @Author : ZhuoNing
  * @Create : 2020-12-25
  **/
-@Component
-public class EnvironClient {
+@Service
+public class EnvironImpl implements IEnviron {
     @Autowired
     private HttpTemplete httpTemplete;
 
@@ -27,7 +27,8 @@ public class EnvironClient {
     //远程测试地址
     String testRemoteHttpIp = "http://121.40.221.149:9100";
 
-    public void send() throws IOException {
+    @Override
+    public void sendEnviron() throws IOException {
         String url = testLocalHttpIp + "/cloud/environ/getEnviron";
         System.out.println("测试推送地址:"+url);
         //

+ 3 - 3
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/task/EnvironTask.java

@@ -1,6 +1,6 @@
 package com.huimv.environ.task;
 
-import com.huimv.environ.client.EnvironClient;
+import com.huimv.environ.service.IEnviron;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.annotation.EnableScheduling;
@@ -23,12 +23,12 @@ import java.io.IOException;
 public class EnvironTask {
 
     @Autowired
-    private EnvironClient environClient;
+    private IEnviron environ;
 
 //    @Scheduled(cron = "0 0/60 * * * ?")
     @Scheduled(cron = "0/2 * * * * ?")
     private void sendEnviron() throws IOException {
         //
-        environClient.send();
+//        environ.sendEnviron();
     }
 }

+ 42 - 0
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/utils/DateUtil.java

@@ -51,6 +51,25 @@ public class DateUtil {
         return sdf.format(date);
     }
 
+    public Date parseDateTime(String dateText) throws ParseException {
+        if(dateText.indexOf("T") != -1){
+            dateText = dateText.replace("T"," ");
+        }
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        return sdf.parse(dateText);
+    }
+
+    public Long parseDateTimeLong(String dateText) throws ParseException {
+        if(dateText.indexOf("T") != -1){
+            dateText = dateText.replace("T"," ");
+        }
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Date date = sdf.parse(dateText);
+        return date.getTime();
+    }
+
+
+
     //
     public Date getTodayDate() throws ParseException {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -62,6 +81,11 @@ public class DateUtil {
         return sdf.format(new Date());
     }
 
+    public String getTodayText() throws ParseException {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        return sdf.format(new Date());
+    }
+
     public String getStartDateInThisMonth(){
         DateTime date = cn.hutool.core.date.DateUtil.date();
         return (cn.hutool.core.date.DateUtil.beginOfMonth(date) + "").substring(0, 10);
@@ -115,4 +139,22 @@ public class DateUtil {
         String result = format.format(today);
         return result;
     }
+
+    //重新构建日期
+    public String rebuildDateTime(String text){
+        return text.substring(0,4)+"-"+text.substring(4,6)+"-"+text.substring(6,8)+" "+text.substring(8,10)+":"+text.substring(10,12)+":"+text.substring(12,14);
+    }
+
+    public static void main(String[] args){
+        DateUtil du = new DateUtil();
+        //
+        du.test1();
+    }
+
+    private void test1() {
+        String text = "20211201104300";
+//        String text = "1234567890abcd";
+        String date = text.substring(0,4)+"-"+text.substring(4,6)+"-"+text.substring(6,8)+" "+text.substring(8,10)+":"+text.substring(10,12)+":"+text.substring(12,14);
+        System.out.println("date="+date);
+    }
 }

Datei-Diff unterdrückt, da er zu groß ist
+ 1 - 1
huimv-farm-device/huimv-farm-cloud-environ/src/main/resources/application-prod.yml


+ 3 - 1
huimv-farm-device/huimv-farm-cloud-environ/src/main/resources/application.properties

@@ -1,4 +1,6 @@
-spring.profiles.active=dev
+#spring.profiles.active=dev
+spring.profiles.active=prod
+
 #ʱ¼ä¸ñʽÅäÖÃ
 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
 spring.jackson.time-zone=GMT+8

+ 42 - 0
huimv-farm-device/huimv-farm-cloud-environ/src/test/java/com/huimv/environ/server/EnvironDataHandlerTest.java

@@ -0,0 +1,42 @@
+package com.huimv.environ.server;
+
+import com.huimv.environ.dao.repo.EnvironmentDataRepo;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import java.text.ParseException;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@SpringBootTest
+public class EnvironDataHandlerTest {
+    @Autowired
+    private EnvironmentDataRepo environmentDataRepo;
+    @Autowired
+    private EnvironDataHandler environDataHandler;
+
+    @Test
+    public void testHandleReceiveData() throws ParseException {
+        //实时数据
+//        String data = "##0226QN=20211201104310148;ST=32;CN=2011;PW=123456;MN=33330424001391;Flag=4;CP=&&DataTime=20211201104300;w01018-Rtd=210.105,w01018-Flag=N;w21003-Rtd=0.034,w21003-Flag=N;w01001-Rtd=8.442,w01001-Flag=N;w00000-Rtd=9.894,w00000-Flag=N&&C901";
+        String data = "##0226QN=20211201214410175;ST=32;CN=2011;PW=123456;MN=33330424001391;Flag=4;CP=&&DataTime=20211201214400;w01018-Rtd=238.962,w01018-Flag=N;w21003-Rtd=0.048,w21003-Flag=N;w01001-Rtd=8.658,w01001-Flag=N;w00000-Rtd=0.000,w00000-Flag=N&&3240";
+        //分钟数据
+//        String data = "##0417QN=20211201135608122;ST=32;CN=2051;PW=123456;MN=33330424001391;Flag=4;CP=&&DataTime=20211201135500;w01018-Min=218.591,w01018-Max=218.592,w01018-Avg=218.593,w01018-Cou=0.001,w01018-Flag=N;w21003-Min=0.0264,w21003-Max=0.0265,w21003-Avg=0.0266,w21003-Cou=0.000,w21003-Flag=N;w01001-Min=8.5407,w01001-Max=8.5408,w01001-Avg=8.5409,w01001-Flag=N;w00000-Min=0.089a,w00000-Max=0.089b,w00000-Avg=0.089c,w00000-Cou=0.005,w00000-Flag=N&&F781";
+        //小时数据
+//        String data = "##0418QN=20211201110010268;ST=32;CN=2061;PW=123456;MN=33330424001391;Flag=4;CP=&&DataTime=20211201100000;w01018-Min=210.105,w01018-Max=210.105,w01018-Avg=210.105,w01018-Cou=7.400,w01018-Flag=N;w21003-Min=0.034,w21003-Max=0.034,w21003-Avg=0.034,w21003-Cou=0.001,w21003-Flag=N;w01001-Min=8.460,w01001-Max=8.719,w01001-Avg=8.599,w01001-Flag=N;w00000-Min=9.641,w00000-Max=9.938,w00000-Avg=9.784,w00000-Cou=35.221,w00000-Flag=N&&4A40";
+        //空数据
+//        String data = "Server received: ##0077QN=20211201140216001;ST=91;CN=9021;PW=123456;MN=33330424001391;Flag=4;CP=&&&&D801";
+
+
+        environDataHandler.handleReceiveData(data);
+    }
+
+
+}