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/ServicesScopeServiceImpl.java | 64 +++++++++++++++++++++++++++++++
1 files changed, 63 insertions(+), 1 deletions(-)
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java
index 43f3da5..76658bb 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java
@@ -5,8 +5,11 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.moral.api.entity.Organization;
import com.moral.api.entity.ServicesScope;
+import com.moral.api.entity.ServicesScopeDevice;
import com.moral.api.mapper.OrganizationMapper;
+import com.moral.api.mapper.ServicesScopeDeviceMapper;
import com.moral.api.mapper.ServicesScopeMapper;
+import com.moral.api.pojo.form.ServiceScope.AddBoundaryBindDevice;
import com.moral.api.service.ServicesScopeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.util.LogUtils;
@@ -21,6 +24,7 @@
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.stream.Collectors;
/**
* <p>
@@ -38,6 +42,9 @@
@Autowired
private OrganizationMapper organizationMapper;
+
+ @Autowired
+ private ServicesScopeDeviceMapper servicesScopeDeviceMapper;
@Override
public Map<String, Object> getDataByCondition(Map<String, Object> map) {
@@ -113,7 +120,7 @@
//������������������
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
StringBuilder content = new StringBuilder();
- content.append("������������������������").append("id:").append(servicesScope.getId() + ";");
+ content.append("������������������������").append("id:").append(servicesScope.getId() + ";");
if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(servicesScope.getOrganizationId())) {
content.append("organization_id:").append(oldServicesScope.getOrganizationId()).append("->").append(newServicesScope.getOrganizationId()).append(";");
}
@@ -145,4 +152,59 @@
content.append("������������������������").append("id:").append(id).append(";");
LogUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE);
}
+
+ @Override
+ @Transactional
+ public void addBoundaryBindDevice(AddBoundaryBindDevice addBoundaryBindDevice) {
+ String devices = addBoundaryBindDevice.getDevices();
+ if (!ObjectUtils.isEmpty(devices) && !devices.equals("")){
+ String[] deviceIds = devices.split(",");
+ List<String> deviceIds_String = Arrays.asList(deviceIds);
+ List<Integer> deviceIdList = new ArrayList<>();
+ for (String deviceId_String:deviceIds_String) {
+ deviceIdList.add(Integer.parseInt(deviceId_String));
+ }
+ QueryWrapper<ServicesScopeDevice> servicesScopeDeviceQueryWrapper = new QueryWrapper<>();
+ servicesScopeDeviceQueryWrapper.eq("is_delete",Constants.NOT_DELETE);
+ servicesScopeDeviceQueryWrapper.eq("services_scope_id",addBoundaryBindDevice.getServicesScope().getId());
+ List<ServicesScopeDevice> servicesScopeDevices = servicesScopeDeviceMapper.selectList(servicesScopeDeviceQueryWrapper);
+ List<Integer> oldDeviceIds = servicesScopeDevices.stream().map(p -> p.getDeviceId()).collect(Collectors.toList());
+ List<Integer> insertList = new ArrayList<>();
+ for (Integer deviceId:deviceIdList) {
+ if (!oldDeviceIds.contains(deviceId)){
+ insertList.add(deviceId);
+ }
+ }
+ if (insertList.size()>0){
+ servicesScopeDeviceMapper.insertBatch(addBoundaryBindDevice.getServicesScope().getId(),insertList);
+ }
+ servicesScopeDeviceQueryWrapper.notIn("device_id",deviceIdList);
+ ServicesScopeDevice servicesScopeDevice = new ServicesScopeDevice();
+ servicesScopeDevice.setIsDelete(Constants.DELETE);
+ servicesScopeDeviceMapper.update(servicesScopeDevice,servicesScopeDeviceQueryWrapper);
+ }
+ ServicesScope oldServicesScope = servicesScopeMapper.selectById(addBoundaryBindDevice.getServicesScope().getId());
+ servicesScopeMapper.updateById(addBoundaryBindDevice.getServicesScope());
+ ServicesScope newServicesScope = servicesScopeMapper.selectById(addBoundaryBindDevice.getServicesScope().getId());
+ //������������������
+ HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
+ StringBuilder content = new StringBuilder();
+ content.append("������������������������").append("id:").append(addBoundaryBindDevice.getServicesScope().getId() + ";");
+ if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(addBoundaryBindDevice.getServicesScope().getOrganizationId())) {
+ content.append("organization_id:").append(oldServicesScope.getOrganizationId()).append("->").append(newServicesScope.getOrganizationId()).append(";");
+ }
+ if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(addBoundaryBindDevice.getServicesScope().getName())) {
+ content.append("name:").append(oldServicesScope.getName()).append("->").append(newServicesScope.getName()).append(";");
+ }
+ if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(addBoundaryBindDevice.getServicesScope().getCenterLongitude())) {
+ content.append("center_longitude:").append(oldServicesScope.getCenterLongitude()).append("->").append(newServicesScope.getCenterLongitude()).append(";");
+ }
+ if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(addBoundaryBindDevice.getServicesScope().getCenterLatitude())) {
+ content.append("center_latitude:").append(oldServicesScope.getCenterLatitude()).append("->").append(newServicesScope.getCenterLatitude()).append(";");
+ }
+ if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(addBoundaryBindDevice.getServicesScope().getBoundary())) {
+ content.append("boundary:").append("������������").append(";");
+ }
+ LogUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE);
+ }
}
--
Gitblit v1.8.0