Bläddra i källkod

修改设备状态

zhuoning 2 år sedan
förälder
incheckning
50e9ac8193

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

@@ -38,4 +38,9 @@ public class EnvSprayConfigEntity implements Serializable {
     @Column(name = "farm_code")
     private String farmCode;
 
+    @Column(name = "open_status")
+    private Integer openStatus;
+
+    @Column(name = "add_time")
+    private Timestamp addTime;
 }

+ 26 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/impl/SprayStatusServiceImpl.java

@@ -2,15 +2,20 @@ package com.huimv.env.common.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.huimv.env.common.dao.entity.EnvDeviceRegisterEntity;
+import com.huimv.env.common.dao.entity.EnvSprayConfigEntity;
 import com.huimv.env.common.dao.entity.EnvSprayStatusEntity;
+import com.huimv.env.common.dao.repo.EnvSprayConfigEntityRepo;
 import com.huimv.env.common.dao.repo.EnvSprayStatusEntityRepo;
 import com.huimv.env.common.service.ISprayStatusService;
 import com.huimv.env.common.utils.DateUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Example;
 import org.springframework.stereotype.Service;
 
 import java.sql.Date;
 import java.sql.Timestamp;
+import java.util.Optional;
 
 /**
  * @Project : huimv.shiwan
@@ -21,10 +26,13 @@ import java.sql.Timestamp;
  * @Create : 2020-12-25
  **/
 @Service
+@Slf4j
 public class SprayStatusServiceImpl implements ISprayStatusService {
     @Autowired
     private EnvSprayStatusEntityRepo sprayStatusEntityRepo;
     @Autowired
+    private EnvSprayConfigEntityRepo envSprayConfigEntityRepo;
+    @Autowired
     private DateUtil dateUtil;
 
     @Override
@@ -39,5 +47,23 @@ public class SprayStatusServiceImpl implements ISprayStatusService {
         envSprayStatusEntity.setUnitId(envDeviceRegisterEntity.getUnitId());
         envSprayStatusEntity.setFarmCode(farmCode);
         sprayStatusEntityRepo.saveAndFlush(envSprayStatusEntity);
+        log.info("保存喷雾设备状态信息流水.");
+        //更新设备状态
+        EnvSprayConfigEntity envSprayConfigEntity = new EnvSprayConfigEntity();
+        envSprayConfigEntity.setDeviceCode(dataJo.getString("deviceCode"));
+        envSprayConfigEntity.setFarmCode(farmCode);
+        Example<EnvSprayConfigEntity> example = Example.of(envSprayConfigEntity);
+        Optional<EnvSprayConfigEntity> optional = envSprayConfigEntityRepo.findOne(example);
+        if(!optional.isPresent()){
+            log.error("该设备["+dataJo.getString("deviceCode")+"]未配置属性信息.");
+            return;
+        }else{
+            EnvSprayConfigEntity queryEnvSprayConfigEntity = optional.get();
+            queryEnvSprayConfigEntity.setOpenStatus(dataJo.getInteger("sprayStatus"));
+            queryEnvSprayConfigEntity.setAddTime(nowTimestamp);
+            envSprayConfigEntityRepo.saveAndFlush(queryEnvSprayConfigEntity);
+            log.info("更新喷雾设备状态信息.");
+        }
+
     }
 }

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

@@ -164,6 +164,7 @@ public class DeviceListener {
         String farmCode = envDeviceRegisterEntity.getFarmCode();
         //{保存喷雾状态流水}
         sprayStatusService.saveSprayStatusFlow(dataJo,envDeviceRegisterEntity,nowTimestamp,todayDate,farmCode);
+
     }
 
 

+ 3 - 4
huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java

@@ -55,6 +55,8 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     @Autowired
     private Producer producer;
     private StringBuilder askTextSb = null;
+    @Autowired
+    private ITempThresholdService tempThresholdService;
 
     //
     public void appendClientAsk(String text) {
@@ -216,9 +218,6 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
         producer.sendPushMessageToMQ(askText);
     }
 
-    @Autowired
-    private ITempThresholdService tempThresholdService;
-
     //高温,低温报警参数请求
     private void getTempThresholdConfig(String askText, String idCode, ChannelHandlerContext ctx) {
         System.out.println("==>高温,低温报警参数请求 askText>>" + askText);
@@ -287,7 +286,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
             System.out.println("##上报喷雾除臭状态请求-未注册设备 idCode=" + idCode);
             return;
         }
-        String answerText = "hm+" + idCode + "+7+1+201702081523+6+end";
+        String answerText = "hm+" + idCode + "+7+6+end";
         log.info(">>上报喷雾除臭状态请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
         //发送喷雾设备状态到消息队列