代码优化

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(); CsDevModelPO po = devModelFeignClient.findModel(item.getDevType(),item.getVersionNo(),item.getVersionDate()).getData();
if (Objects.isNull(po)){ if (Objects.isNull(po)){
log.error(AccessResponseEnum.MODEL_NO_FIND.getMessage()); log.error(AccessResponseEnum.MODEL_NO_FIND.getMessage());
logDto.setOperate(nDid + "模板缺失");
logDto.setResult(0); logDto.setResult(0);
logDto.setFailReason(AccessResponseEnum.MODEL_NO_FIND.getMessage()); logDto.setFailReason(AccessResponseEnum.MODEL_NO_FIND.getMessage());
csLogsFeignClient.addUserLog(logDto); csLogsFeignClient.addUserLog(logDto);

View File

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

View File

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