From 15369bf819ca82896bbcada782e6babf2a7d64c9 Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Tue, 14 Nov 2023 13:49:26 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/cjl' into qa --- 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