From 508efaad8b2e23a046c36594a9d16b372ea58a26 Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Thu, 21 Sep 2023 10:44:39 +0800 Subject: [PATCH] feat:添加测试更新guid --- 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