添加灌溉控制器设备在线状态数据库维护

This commit is contained in:
蒾酒
2025-01-02 09:58:33 +08:00
parent 27f5696673
commit 605e1d1499

View File

@ -396,17 +396,27 @@ public class DeviceOtherMsgConsumer {
/** /**
* 缓存更新设备在线状态 * 更新设备在线状态
*/ */
private void updateDeviceOnlineStatus(Long productId,String serialNumber){ private void updateDeviceOnlineStatus(Long productId,String serialNumber){
try { try {
//判断 //缓存里面更新设备在线状态
if(Boolean.TRUE.equals(stringRedisTemplate.hasKey("neixiang_device_online_status:" + productId + ":" + serialNumber))){ if(Boolean.TRUE.equals(stringRedisTemplate.hasKey("neixiang_device_online_status:" + productId + ":" + serialNumber))){
//重新设置过期时间 //重新设置过期时间
stringRedisTemplate.expire("neixiang_device_online_status:"+productId+":"+serialNumber,360, TimeUnit.SECONDS); stringRedisTemplate.expire("neixiang_device_online_status:"+productId+":"+serialNumber,360, TimeUnit.SECONDS);
return; return;
} }
stringRedisTemplate.opsForValue().set("neixiang_device_online_status:"+productId+":"+serialNumber,"1",360, TimeUnit.SECONDS); stringRedisTemplate.opsForValue().set("neixiang_device_online_status:"+productId+":"+serialNumber,"1",360, TimeUnit.SECONDS);
//数据库里面更新设备在线状态
boolean update = new LambdaUpdateChainWrapper<>(deviceReportInfoMapper)
.set(DeviceReportInfo::getOnLine, 1)
.eq(DeviceReportInfo::getSerialNumber, serialNumber)
.update();
if(!update){
log.error("=>数据库更新灌溉控制器设备在线状态失败!");
}
}catch (Exception e){ }catch (Exception e){
log.error("=>更新缓存设备在线状态出错",e); log.error("=>更新缓存设备在线状态出错",e);
} }