代码优化

This commit is contained in:
xy
2024-11-28 15:10:57 +08:00
parent 5137565195
commit 0c2954b8ba
3 changed files with 14 additions and 1 deletions

View File

@@ -267,6 +267,7 @@ public class MqttMessageHandler {
CsDevModelPO po = devModelFeignClient.findModel(item.getDevType(),item.getVersionNo(),item.getVersionDate()).getData();
if (Objects.isNull(po)){
log.error(AccessResponseEnum.MODEL_NO_FIND.getMessage());
logDto.setOperate(nDid + "模板缺失");
logDto.setResult(0);
logDto.setFailReason(AccessResponseEnum.MODEL_NO_FIND.getMessage());
csLogsFeignClient.addUserLog(logDto);

View File

@@ -134,6 +134,12 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
//logDto.setOperate(nDid +"客户端离线进入定时任务");
logDto.setOperate(nDid +"装置离线");
sendMessage(nDid);
//记录装置掉线时间
CsDeviceOnlineLogs record = onlineLogsService.findLastData(nDid);
record.setOfflineTime(LocalDateTime.now());
onlineLogsService.updateById(record);
scheduler.shutdown();
}
} catch (InterruptedException e) {
@@ -154,6 +160,12 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
//log.info("客户端离线进入定时任务...");
//startScheduledTask(scheduler,nDid,version);
sendMessage(nDid);
//记录装置掉线时间
CsDeviceOnlineLogs record = onlineLogsService.findLastData(nDid);
record.setOfflineTime(LocalDateTime.now());
onlineLogsService.updateById(record);
scheduler.shutdown();
}
}

View File

@@ -29,7 +29,6 @@ import java.util.concurrent.*;
@RequiredArgsConstructor
public class AutoAccessTimer implements ApplicationRunner {
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
ExecutorService executor = Executors.newFixedThreadPool(10);
private static final long AUTO_TIME = 120L;
private final RedisUtil redisUtil;
private final ICsEquipmentDeliveryService csEquipmentDeliveryService;
@@ -43,6 +42,7 @@ public class AutoAccessTimer implements ApplicationRunner {
log.info("轮询定时任务执行中!");
List<CsEquipmentDeliveryPO> list = csEquipmentDeliveryService.getOfflineDev();
if (CollUtil.isNotEmpty(list)) {
ExecutorService executor = Executors.newFixedThreadPool(10);
// 将任务平均分配给10个子列表
List<List<CsEquipmentDeliveryPO>> subLists = new ArrayList<>();
int partitionSize = list.size() / 10;