From 4e250e6a954ab426cc54dcf11caec806eb8df688 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Wed, 20 Sep 2023 17:21:02 +0800
Subject: [PATCH] feat:添加测试更新guid
---
screen-manage/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java | 85 ++++++++++++++++++++++++++++++++++++++++--
1 files changed, 80 insertions(+), 5 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 add7e7a..2c9f744 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
@@ -4,17 +4,25 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.moral.api.entity.Device;
import com.moral.api.entity.GovMonitorPoint;
+import com.moral.api.entity.Organization;
import com.moral.api.entity.SysArea;
+import com.moral.api.exception.BusinessException;
+import com.moral.api.mapper.DeviceMapper;
import com.moral.api.mapper.GovMonitorPointMapper;
import com.moral.api.mapper.SysAreaMapper;
+import com.moral.api.service.DeviceService;
import com.moral.api.service.GovMonitorPointService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.service.OrganizationService;
import com.moral.api.util.LogUtils;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.constant.ResponseCodeEnum;
+import com.moral.constant.ResultMessage;
import com.moral.util.RegionCodeUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -24,10 +32,12 @@
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
+import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.stream.Collectors;
/**
* <p>
@@ -49,8 +59,14 @@
@Autowired(required = false)
private RedisTemplate redisTemplate;
- @Autowired
- private LogUtils logUtils;
+ @Resource
+ private OrganizationService organizationService;
+
+ @Resource
+ private DeviceService deviceService;
+
+ @Autowired(required = false)
+ private DeviceMapper deviceMapper;
/*
* ���redis������������������
@@ -154,7 +170,7 @@
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
StringBuilder content = new StringBuilder();
content.append("������������������������").append("id:").append(govMonitorPoint.getId() + ";").append(govMonitorPoint.getName() + ";").append(":").append("guid���").append(govMonitorPoint.getGuid() + ";");
- logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
+ LogUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
}
}
@@ -199,7 +215,48 @@
if (!ObjectUtils.isEmpty(govMonitorPoint.getDesc())) {
content.append("desc:").append(oldGovMonitorPoint).append("->").append(govMonitorPoint.getDesc()).append(";");
}
- logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
+ LogUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
+ }
+
+ @Override
+ @Transactional
+ public void updateList(Integer id, String guid) {
+ QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>();
+ wrapper_govMonitorPoint.eq("is_delete", Constants.NOT_DELETE);
+ wrapper_govMonitorPoint.eq("id", id);
+ List<GovMonitorPoint> govMonitorPoints = govMonitorPointMapper.selectList(wrapper_govMonitorPoint);
+ if (govMonitorPoints.size() == 0) {
+ throw new BusinessException("������������������");
+ }
+ 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);
+ }
+ }
}
@Override
@@ -213,7 +270,7 @@
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
StringBuilder content = new StringBuilder();
content.append("������������������").append("id:").append(id).append(";");
- logUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE);
+ LogUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE);
}
@Override
@@ -232,4 +289,22 @@
}
return govMonitorPointMapper.selectMaps(queryWrapper);
}
+
+ @Override
+ public List<GovMonitorPoint> selectGovMonitorPointsByOrgid(Map map) {
+ //������������id���������������
+ List<Organization> organizations = organizationService.getAllChildrenOrganization(Integer.parseInt(map.get("organization_id").toString()));
+ Set<Integer> organization_ids = organizations.stream().map(organization -> organization.getId()).collect(Collectors.toSet());
+ //������������������������������
+ QueryWrapper<Device> wrapper_device = new QueryWrapper<>();
+ wrapper_device.in("organization_id",organization_ids).eq("is_delete",Constants.NOT_DELETE);
+ List<Device> devices = deviceMapper.selectList(wrapper_device);
+ //������������������������������id
+ Set<String> guids = devices.stream().map(device -> device.getGuid()).collect(Collectors.toSet());
+ //������������������������������
+ QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>();
+ wrapper_govMonitorPoint.eq("is_delete",Constants.NOT_DELETE).in("guid",guids);
+ List<GovMonitorPoint> govMonitorPointList = govMonitorPointMapper.selectList(wrapper_govMonitorPoint);
+ return govMonitorPointList;
+ }
}
--
Gitblit v1.8.0