Parcourir la source

没必要修改数据库时不修改

suntianwu il y a 3 ans
Parent
commit
32af9e40a0
1 fichiers modifiés avec 21 ajouts et 12 suppressions
  1. 21 12
      src/main/java/com/care/mqtt/service/MqttMsgService.java

+ 21 - 12
src/main/java/com/care/mqtt/service/MqttMsgService.java

@@ -125,9 +125,11 @@ public class MqttMsgService {
 
                 Integer breath = (Integer) msg.get("breath");
                 Integer heart = (Integer) msg.get("heart");
-                careDevice.setBreathRate(breath);
-                careDevice.setHeartRate(heart);
-                careDeviceService.updateById(careDevice);
+                if (breath !=careDevice.getBreathRate() || heart !=careDevice.getHeartRate() ){
+                    careDevice.setBreathRate(breath);
+                    careDevice.setHeartRate(heart);
+                    careDeviceService.updateById(careDevice);
+                }
                 return;
             }
 
@@ -212,9 +214,11 @@ public class MqttMsgService {
             }
         }
 
-        //更新数据库dev
-        careDevice.setMoveStatus(moveState);
-        careDeviceService.updateById(careDevice);
+        if(!moveState.equals(careDevice.getMoveStatus())){
+            //更新数据库dev
+            careDevice.setMoveStatus(moveState);
+            careDeviceService.updateById(careDevice);
+        }
 
     }
 
@@ -256,9 +260,12 @@ public class MqttMsgService {
                 if(event == 1) {
                     //上床事件,先存起来
                     redisUtil.hset(RedisKeyConstant.OPTINOUT_BEDROOM_INFO, careDevice.getDevCode()+ "_" + tid, System.currentTimeMillis(), RedisKeyConstant.OPTINOUT_BEDROOM_INFO_TIME);
-                    //更新数据库dev
-                    careDevice.setInbedStatus(DeviceInbedStateEnum.INBED.getValue());
-                    careDeviceService.updateById(careDevice);
+                   if (!DeviceInbedStateEnum.INBED.getValue().equals(careDevice.getInbedStatus())){
+                       //更新数据库dev
+                       careDevice.setInbedStatus(DeviceInbedStateEnum.INBED.getValue());
+                       careDeviceService.updateById(careDevice);
+                   }
+
                 } else {//下床事件,
                     //先查是否存在上床事件
                     Long inTime = (Long)redisUtil.hget(RedisKeyConstant.OPTINOUT_BEDROOM_INFO,careDevice.getDevCode()+ "_" + tid);
@@ -276,9 +283,11 @@ public class MqttMsgService {
                     } else { //不存在上床事件
                         //do nothing
                     }
-                    //更新数据库dev
-                    careDevice.setInbedStatus(DeviceInbedStateEnum.OUTBED.getValue());
-                    careDeviceService.updateById(careDevice);
+                    if (!DeviceInbedStateEnum.OUTBED.getValue().equals(careDevice.getInbedStatus())) {
+                        //更新数据库dev
+                        careDevice.setInbedStatus(DeviceInbedStateEnum.OUTBED.getValue());
+                        careDeviceService.updateById(careDevice);
+                    }
                 }
             }
         }