From 3ea7e207b7c33edcea6f493baef53928133eecaf Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Wed, 19 Jan 2022 13:05:43 +0800 Subject: [PATCH] 服务范围添加边界绑定设备接口 --- screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java | 62 ++++++++++++++++++++++++++++++ 1 files changed, 61 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..541f6f9 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,57 @@ 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); + } + } + 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