在线状态修改
This commit is contained in:
@ -71,6 +71,8 @@ public class RedisKeyExpirationListener implements MessageListener {
|
|||||||
deviceUpdateWrapper.eq("device_imei", element);
|
deviceUpdateWrapper.eq("device_imei", element);
|
||||||
deviceUpdateWrapper.set("online_status", 0);
|
deviceUpdateWrapper.set("online_status", 0);
|
||||||
deviceMapper.update(deviceUpdateWrapper);
|
deviceMapper.update(deviceUpdateWrapper);
|
||||||
|
}else{
|
||||||
|
RedisUtils.deleteObject(deviceOnlineStatusRedisKey);
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
//释放锁
|
//释放锁
|
||||||
|
|||||||
@ -54,7 +54,7 @@ public class ReceiverMessageHandler implements MessageHandler {
|
|||||||
RedisUtils.offerDeduplicated(queueKey,dedupKey,deviceImei, Duration.ofHours(24));
|
RedisUtils.offerDeduplicated(queueKey,dedupKey,deviceImei, Duration.ofHours(24));
|
||||||
//在线状态
|
//在线状态
|
||||||
String deviceOnlineStatusRedisKey = GlobalConstants.GLOBAL_REDIS_KEY+ DEVICE_KEY_PREFIX+ deviceImei + DeviceRedisKeyConstants.DEVICE_ONLINE_STATUS_KEY_PREFIX ;
|
String deviceOnlineStatusRedisKey = GlobalConstants.GLOBAL_REDIS_KEY+ DEVICE_KEY_PREFIX+ deviceImei + DeviceRedisKeyConstants.DEVICE_ONLINE_STATUS_KEY_PREFIX ;
|
||||||
RedisUtils.setCacheObject(deviceOnlineStatusRedisKey, "1", Duration.ofSeconds(62));
|
RedisUtils.setCacheObject(deviceOnlineStatusRedisKey, "1", Duration.ofSeconds(65));
|
||||||
}
|
}
|
||||||
|
|
||||||
String state = payloadDict.getStr("state");
|
String state = payloadDict.getStr("state");
|
||||||
|
|||||||
@ -98,21 +98,24 @@ public class MqttMessageConsumer {
|
|||||||
String threadName = Thread.currentThread().getName();
|
String threadName = Thread.currentThread().getName();
|
||||||
try {
|
try {
|
||||||
log.info("业务处理线程 {} 开始处理消息: {}", threadName, message);
|
log.info("业务处理线程 {} 开始处理消息: {}", threadName, message);
|
||||||
String deviceOnlineStatusRedisKey = GlobalConstants.GLOBAL_REDIS_KEY+ DEVICE_KEY_PREFIX+ message + DeviceRedisKeyConstants.DEVICE_ONLINE_STATUS_KEY_PREFIX ;
|
// String deviceOnlineStatusRedisKey = GlobalConstants.GLOBAL_REDIS_KEY+ DEVICE_KEY_PREFIX+ message + DeviceRedisKeyConstants.DEVICE_ONLINE_STATUS_KEY_PREFIX ;
|
||||||
String deviceOnlineStatusRedis = RedisUtils.getCacheObject(deviceOnlineStatusRedisKey);
|
// String deviceOnlineStatusRedis = RedisUtils.getCacheObject(deviceOnlineStatusRedisKey);
|
||||||
if(StringUtils.isBlank(deviceOnlineStatusRedis)){
|
// if(StringUtils.isBlank(deviceOnlineStatusRedis)){
|
||||||
|
// UpdateWrapper<Device> updateWrapper = new UpdateWrapper<>();
|
||||||
|
// updateWrapper.eq("device_imei", message)
|
||||||
|
// .set("online_status", 1);
|
||||||
|
// deviceMapper.update(updateWrapper);
|
||||||
|
// }
|
||||||
|
QueryWrapper<Device> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("device_imei", message);
|
||||||
|
queryWrapper.eq("online_status", 1);
|
||||||
|
Long count = deviceMapper.selectCount(queryWrapper);
|
||||||
|
if(count == 0){
|
||||||
UpdateWrapper<Device> updateWrapper = new UpdateWrapper<>();
|
UpdateWrapper<Device> updateWrapper = new UpdateWrapper<>();
|
||||||
updateWrapper.eq("device_imei", message)
|
updateWrapper.eq("device_imei", message)
|
||||||
.set("online_status", 1);
|
.set("online_status", 1);
|
||||||
deviceMapper.update(updateWrapper);
|
deviceMapper.update(updateWrapper);
|
||||||
}
|
}
|
||||||
// QueryWrapper<Device> queryWrapper = new QueryWrapper<>();
|
|
||||||
// queryWrapper.eq("device_imei", message);
|
|
||||||
// queryWrapper.eq("online_status", 1);
|
|
||||||
// Long count = deviceMapper.selectCount(queryWrapper);
|
|
||||||
// if(count == 0){
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
// 模拟业务处理耗时
|
// 模拟业务处理耗时
|
||||||
// Thread.sleep(200);
|
// Thread.sleep(200);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user