|  |  | 
 |  |  | 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; | 
 |  |  | 
 |  |  | import javax.servlet.http.HttpServletRequest; | 
 |  |  | import java.text.SimpleDateFormat; | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * <p> | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private OrganizationMapper organizationMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private ServicesScopeDeviceMapper servicesScopeDeviceMapper; | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Map<String, Object> getDataByCondition(Map<String, Object> map) { | 
 |  |  | 
 |  |  |         //操作日志记录 | 
 |  |  |         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(";"); | 
 |  |  |         } | 
 |  |  | 
 |  |  |         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); | 
 |  |  |     } | 
 |  |  | } |