From c7dd4a195d8d893d92c49963447cdf6486844584 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Fri, 20 Oct 2023 09:45:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wb' into cjl
---
screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java | 60 ++++++++++++++++++++++++++++++++++--------------------------
1 files changed, 34 insertions(+), 26 deletions(-)
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java
index 2c9f744..9a0f119 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java
@@ -37,6 +37,8 @@
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
import java.util.stream.Collectors;
/**
@@ -221,6 +223,7 @@
@Override
@Transactional
public void updateList(Integer id, String guid) {
+ ExecutorService executorService = Executors.newFixedThreadPool(2);
QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>();
wrapper_govMonitorPoint.eq("is_delete", Constants.NOT_DELETE);
wrapper_govMonitorPoint.eq("id", id);
@@ -230,33 +233,38 @@
}
GovMonitorPoint govMonitorPoint = govMonitorPoints.get(0);
String oldGuid = govMonitorPoint.getGuid();
- if(!oldGuid.equals(guid)){
- govMonitorPoint.setGuid(guid);
- govMonitorPointMapper.updateById(govMonitorPoint);
- //������redis
- delGovMonitorPointInfoFromRedis(id.toString());
- //������redis
- setGovMonitorPointInfoToRedis(id.toString(), selectGovMonitorPointInfoById(id));
- //������������������
- HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
- StringBuilder content = new StringBuilder();
- content.append("������������������������").append("id:").append(govMonitorPoint.getId() + ";");
- if (!ObjectUtils.isEmpty(govMonitorPoint.getGuid())) {
- content.append("guid:").append(oldGuid).append("->").append(guid).append(";");
- }
- LogUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
- LambdaQueryChainWrapper<Device> wrapper = deviceService.lambdaQuery();
- wrapper.eq(Device::getIsDelete,0);
- wrapper.eq(Device::getGuid,oldGuid);
- List<Device> list = wrapper.list();
- list.forEach(it->it.setGuid(guid));
- deviceService.updateBatchById(list);
- for(Device d : list){
- Map<String, Object> deviceInfo = deviceService.selectDeviceInfoById(d.getId());
- redisTemplate.opsForHash().delete(RedisConstants.DEVICE, d.getMac());
- redisTemplate.opsForHash().put(RedisConstants.DEVICE, d.getMac(), deviceInfo);
- }
+ LambdaQueryChainWrapper<Device> wrapper = deviceService.lambdaQuery();
+ wrapper.eq(Device::getIsDelete,0);
+ wrapper.eq(Device::getGuid,oldGuid);
+ List<Device> list = wrapper.list();
+ list.forEach(it->it.setGuid(guid));
+
+ deviceService.updateBatchById(list);
+
+ govMonitorPoint.setGuid(guid);
+ govMonitorPointMapper.updateById(govMonitorPoint);
+ //������redis
+ delGovMonitorPointInfoFromRedis(id.toString());
+ //������redis
+ setGovMonitorPointInfoToRedis(id.toString(), selectGovMonitorPointInfoById(id));
+ //������������������
+ HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+ StringBuilder content = new StringBuilder();
+ content.append("������������������������").append("id:").append(govMonitorPoint.getId() + ";");
+ if (!ObjectUtils.isEmpty(govMonitorPoint.getGuid())) {
+ content.append("guid:").append(oldGuid).append("->").append(guid).append(";");
}
+ LogUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
+ for(Device d : list){
+ executorService.submit(()->{
+ redisTemplate.opsForHash().delete(RedisConstants.DEVICE, d.getMac());
+ Map<String, Object> deviceInfo = deviceService.selectDeviceInfoById(d.getId());
+ redisTemplate.opsForHash().put(RedisConstants.DEVICE, d.getMac(), deviceInfo);
+
+ });
+ }
+ // ���������������
+ executorService.shutdown();
}
@Override
--
Gitblit v1.8.0