Ver Fonte

污水监测

Newspaper há 1 ano atrás
pai
commit
0ccb99d4de

+ 5 - 213
huimv-farm-environ/src/main/java/com/huimv/environ/env/environ/dao/entity/EnvHourEntity.java

@@ -1,5 +1,7 @@
 package com.huimv.environ.env.environ.dao.entity;
 
+import lombok.Data;
+
 import javax.persistence.Entity;
 import javax.persistence.Column;
 import javax.persistence.GenerationType;
@@ -9,7 +11,7 @@ import java.sql.Timestamp;
 import java.io.Serializable;
 import javax.persistence.Id;
  
-@Entity
+@Data
 @Table(name = "env_hour")
 public class EnvHourEntity implements Serializable {
 
@@ -85,216 +87,6 @@ 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 + '\'' +
-    '}';
-}
+    @Column(name = "farm_id")
+    private Integer farmId;
 }

+ 93 - 1
huimv-farm-environ/src/main/java/com/huimv/environ/env/timer/EnvTimer.java

@@ -9,7 +9,9 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.huimv.environ.eco.entity.envVo.EnvVo;
 import com.huimv.environ.eco.service.IBaseTelecomRoomService;
 import com.huimv.environ.env.environ.dao.entity.EnvDayEntity;
+import com.huimv.environ.env.environ.dao.entity.EnvHourEntity;
 import com.huimv.environ.env.environ.dao.repo.EnvDayRepo;
+import com.huimv.environ.env.environ.dao.repo.EnvHourRepo;
 import com.mysql.cj.xdevapi.JsonArray;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.cache.CacheProperties;
@@ -20,11 +22,13 @@ import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 
+import java.sql.Timestamp;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -40,8 +44,11 @@ public class EnvTimer {
     @Autowired
     private EnvDayRepo envDayRepo;
 
+    @Autowired
+    private EnvHourRepo EnvHourRepo;
+
     @Scheduled(cron = "0 6 * * * ? ")
-    private void get() throws JsonProcessingException {
+    private void getDay() throws JsonProcessingException {
         RestTemplate restTemplate = new RestTemplate();
         String envUrl = "https://dnqyt.envchina.com/api/public/station-data";
         LocalDate previousDay = LocalDate.now().minusDays(1);
@@ -107,6 +114,91 @@ public class EnvTimer {
 
     }
 
+    @Scheduled(cron = "0 0 0/1 * * ? ")
+    private void getHour() throws JsonProcessingException {
+        RestTemplate restTemplate = new RestTemplate();
+        String envUrl = "https://dnqyt.envchina.com/api/public/station-data";
+        LocalDateTime now = LocalDateTime.now();
+        // 获取上一个整点时间(不包括当前整点)
+        LocalDateTime lastHour = now.minusHours(1).truncatedTo(ChronoUnit.HOURS);
+        // 格式化为指定格式的字符串
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        String formattedLastHour = lastHour.format(formatter);
+
+        String sgToken = redisTemplate.opsForValue().get("sg:token");
+        System.out.println(sgToken);
+        //token不存在重新获取
+        if (StringUtils.isEmpty(sgToken)){
+            String url = "https://dnqyt.envchina.com/api/public/token";
+            HashMap<String, String> params = new HashMap<>();
+            params.put("userName", "ZXQLYZKJ2307A2");
+            params.put("password", "e91294970cb74aaf9d9a6fe0973d8f5e");
+            // 设置请求头
+            HttpHeaders headers = new HttpHeaders();
+            headers.setContentType(MediaType.APPLICATION_JSON);
+            // 创建请求实体对象
+            HttpEntity<HashMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
+            // 发送POST请求
+            ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, requestEntity, String.class);
+            JSONObject jsonObject = JSONObject.parseObject(responseEntity.getBody());
+            if (jsonObject.getInteger("code") != 200){
+                System.out.println("获取token失败!");
+            }else {
+                sgToken = jsonObject.getJSONObject("data").getString("token");
+                redisTemplate.opsForValue().set("sg:token", sgToken,2L,TimeUnit.HOURS);
+            }
+        }
+        HttpHeaders headers = new HttpHeaders();
+        headers.add("token",sgToken);
+        headers.setContentType(MediaType.APPLICATION_JSON);
+        HttpEntity<Map<String, Object>> formEntity = new HttpEntity<Map<String, Object>>(headers);
+
+        String urlWithParams = envUrl + "?type=H&mn=33330424001391" + "&startTime=" + formattedLastHour + "&endTime=" + formattedLastHour;
+        System.out.println(formattedLastHour);
+        ResponseEntity<String> result = restTemplate.exchange(urlWithParams, HttpMethod.GET,formEntity,String.class);
+        System.out.println(result);
+        JSONObject jsonObject = JSONObject.parseObject(result.getBody());
+        if (jsonObject.getInteger("code") == 200){
+            EnvHourEntity envHourEntity = new EnvHourEntity();
+            envHourEntity.setMn("33330424001391");
+            envHourEntity.setDatetime(Timestamp.valueOf(formattedLastHour));
+            String data = jsonObject.getString("data");
+            ObjectMapper objectMapper = new ObjectMapper();
+            List<EnvVo> dataList = objectMapper.readValue(data, new TypeReference<List<EnvVo>>() {});
+            for (EnvVo envVo : dataList) {
+                if (envVo.getFactorCode().equals("w00000")){
+                    envHourEntity.setWsPj(envVo.getAvg());
+                    envHourEntity.setWsZd(envVo.getAvg());
+                    envHourEntity.setWsZx(envVo.getAvg());
+                    envHourEntity.setWszt("N");
+                }
+                if (envVo.getFactorCode().equals("w01001")){
+                    envHourEntity.setPhPj(envVo.getAvg());
+                    envHourEntity.setPhZd(envVo.getAvg());
+                    envHourEntity.setPhZx(envVo.getAvg());
+                    envHourEntity.setPhzt("N");
+                }
+                if (envVo.getFactorCode().equals("w01018")){
+                    envHourEntity.setHxxylPj(envVo.getAvg());
+                    envHourEntity.setHxxylZd(envVo.getAvg());
+                    envHourEntity.setHxxylZx(envVo.getAvg());
+                    envHourEntity.setHxxylzt("N");
+                }
+                if (envVo.getFactorCode().equals("w21003")){
+                    envHourEntity.setAdPj(envVo.getAvg());
+                    envHourEntity.setAdZd(envVo.getAvg());
+                    envHourEntity.setAdZx(envVo.getAvg());
+                    envHourEntity.setAdzt("N");
+                }
+            }
+            Timestamp currentTimestamp = new Timestamp(System.currentTimeMillis());
+            envHourEntity.setAddTime(currentTimestamp);
+            envHourEntity.setFarmId(1);
+            EnvHourRepo.save(envHourEntity);
+        }
+
+    }
+
     public static void main(String[] args) throws JsonProcessingException {
 
     }