| | |
| | | import com.gkhy.fourierSpecialGasMonitor.entity.RegionLngLat; |
| | | import com.gkhy.fourierSpecialGasMonitor.entity.query.FindRegionPageQuery; |
| | | import com.gkhy.fourierSpecialGasMonitor.entity.req.*; |
| | | import com.gkhy.fourierSpecialGasMonitor.entity.resp.FindRegionByIdLngLatRespDTO; |
| | | import com.gkhy.fourierSpecialGasMonitor.entity.resp.FindRegionByIdRespDTO; |
| | | import com.gkhy.fourierSpecialGasMonitor.entity.resp.FindRegionLngLatPageRespDTO; |
| | | import com.gkhy.fourierSpecialGasMonitor.entity.resp.FindRegionPageRespDTO; |
| | |
| | | throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"参数不能为空"); |
| | | Region region = regionRepository.findByIdAndStatus(id, DeleteStatusEnum.DELECT_NO.getStatus()); |
| | | if (region != null){ |
| | | FindRegionByIdRespDTO findRegionByIdRespDTO = new FindRegionByIdRespDTO(); |
| | | BeanUtils.copyProperties(region,findRegionByIdRespDTO); |
| | | List<RegionLngLat> regionLngLats = region.getRegionLngLats(); |
| | | if (!CollectionUtils.isEmpty(regionLngLats)){ |
| | | List<FindRegionByIdRespDTO> respDTOS = new ArrayList<>(); |
| | | BeanUtils.copyProperties(regionLngLats,respDTOS); |
| | | success.setData(respDTOS); |
| | | List<FindRegionByIdLngLatRespDTO> collect = regionLngLats.stream().map(regionLngLat -> { |
| | | FindRegionByIdLngLatRespDTO findRegionByIdLngLatRespDTO = new FindRegionByIdLngLatRespDTO(); |
| | | BeanUtils.copyProperties(regionLngLat, findRegionByIdLngLatRespDTO); |
| | | return findRegionByIdLngLatRespDTO; |
| | | }).collect(Collectors.toList()); |
| | | findRegionByIdRespDTO.setLngLatRespDTOS(collect); |
| | | } |
| | | success.setData(findRegionByIdRespDTO); |
| | | } |
| | | return success; |
| | | } |
| | |
| | | if (searchParams != null && !StringUtils.isBlank(searchParams.getName())){ |
| | | predicateList.add(criteriaBuilder.like(root.get("name").as(String.class),"%"+searchParams.getName()+"%")); |
| | | } |
| | | predicateList.add(criteriaBuilder.equal(root.get("deleteStatus").as(Byte.class), DeleteStatusEnum.DELECT_NO.getStatus())); |
| | | predicateList.add(criteriaBuilder.equal(root.get("status").as(Byte.class), DeleteStatusEnum.DELECT_NO.getStatus())); |
| | | return criteriaBuilder.and(predicateList.toArray(new Predicate[predicateList.size()])); |
| | | } |
| | | }; |
| | |
| | | List<FindRegionPageRespDTO> dtos = pageResult.getContent().stream().map(region -> { |
| | | FindRegionPageRespDTO dto = new FindRegionPageRespDTO(); |
| | | BeanUtils.copyProperties(region, dto); |
| | | List<FindRegionLngLatPageRespDTO> regionLngLatPageRespDTOS = new ArrayList<>(); |
| | | BeanUtils.copyProperties(region.getRegionLngLats(), regionLngLatPageRespDTOS); |
| | | dto.setRegionLngLats(regionLngLatPageRespDTOS); |
| | | if (!CollectionUtils.isEmpty(region.getRegionLngLats())) { |
| | | List<FindRegionLngLatPageRespDTO> collect = region.getRegionLngLats().stream().map(regionLngLat -> { |
| | | FindRegionLngLatPageRespDTO findRegionLngLatPageRespDTO = new FindRegionLngLatPageRespDTO(); |
| | | BeanUtils.copyProperties(regionLngLat, findRegionLngLatPageRespDTO); |
| | | return findRegionLngLatPageRespDTO; |
| | | }).collect(Collectors.toList()); |
| | | dto.setRegionLngLats(collect); |
| | | } |
| | | return dto; |
| | | }).collect(Collectors.toList()); |
| | | searchResult.setData(dtos); |
| | |
| | | @Transactional |
| | | public Result updateRegion(UpdateRegionReqDTO reqDto) { |
| | | User currentUser = getCurrentUser(); |
| | | if (reqDto == null) |
| | | if (reqDto == null || reqDto.getId() == null) |
| | | throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"参数不能为空"); |
| | | Region region = regionRepository.findByIdAndStatus(reqDto.getId(), DeleteStatusEnum.DELECT_NO.getStatus()); |
| | | if (region == null) |
| | | throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"区域不存在"); |
| | | if (StringUtils.isBlank(reqDto.getName())) |
| | | throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(),"区域名称为空"); |
| | | if (StringUtils.isBlank(reqDto.getColor())) |
| | |
| | | Region regionold = findByNameAndStatus(reqDto.getName()); |
| | | if (regionold != null && !regionold.getId().equals(reqDto.getId())) |
| | | throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL.getCode(), "区域名称已存在"); |
| | | regionold.setName(reqDto.getName()); |
| | | regionold.setColor(reqDto.getColor()); |
| | | regionold.setLastmodifiedby(currentUser.getRealName()); |
| | | regionold.setGmtModified(LocalDateTime.now()); |
| | | region.setName(reqDto.getName()); |
| | | region.setColor(reqDto.getColor()); |
| | | region.setLastmodifiedby(currentUser.getRealName()); |
| | | region.setGmtModified(LocalDateTime.now()); |
| | | if (regionRepository.save(region) == null) |
| | | throw new BusinessException(this.getClass(), ResultCode.SYSTEM_ERROR_DATABASE_FAIL.getCode(),"区域保存失败"); |
| | | regionLngLatRepository.deleteAllByRegionId(reqDto.getId()); |
| | | List<UpdateRegionLngLatReqDTO> regionLngLats = reqDto.getRegionLngLats(); |
| | | List<RegionLngLat> collect = regionLngLats.stream().map(regionLngLat -> { |