|
@@ -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);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|