From 78d1c9ee9b0c49f77c29d0535cb93c6d62c42f3a Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期四, 11 十一月 2021 13:58:25 +0800 Subject: [PATCH] 1111修改提交 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseServiceImpl.java | 89 +++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 86 insertions(+), 3 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseServiceImpl.java index f1c206c..1f8e860 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseServiceImpl.java @@ -9,6 +9,8 @@ import javax.annotation.Resource; import com.panzhihua.common.model.dtos.community.ComMngPopulationHouseInsertAdminDTO; +import com.panzhihua.common.utlis.StringUtils; +import com.panzhihua.service_community.service.ComMngPopulationHouseUserService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -66,6 +68,10 @@ private ComActVillageDAO comActVillageDAO; @Resource private ComMngPopulationHouseDAO comMngPopulationHouseDAO; + @Resource + private ComMngPopulationHouseService comMngPopulationHouseService; + @Resource + private ComMngPopulationHouseUserService comMngPopulationHouseUserService; private static <T> Predicate<T> distinctByKey(Function<? super T, Object> keyExtractor) { Map<Object, Boolean> seen = new ConcurrentHashMap<>(); @@ -93,9 +99,8 @@ cascadeHouseVOList = this.baseMapper.getHouseLevelByAlley(cascadeHouseDTO.getCommunityId(), cascadeHouseDTO.getVillageId()); cascadeHouseVOList = cascadeHouseVOList.stream() - .collect(Collectors.collectingAndThen( - Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getAlley()))), - ArrayList::new)); + .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>( + Comparator.comparing(ComMngCascadeHouseVO::getAlley))),ArrayList::new)); cascadeHouseVOList.forEach(cascade -> { cascade.setName(cascade.getAlley()); }); @@ -477,6 +482,7 @@ return R.ok(subordinateList); } + @Override public R populationRelationHouse(ComMngPopulationRelationHouseDTO relationHouseDTO) { if (relationHouseDTO.getPopulationId().isEmpty()) { @@ -538,4 +544,81 @@ } } + /** + * 实有房屋数据修复定时任务 + * @return 实有房屋数据修复定时任务 + */ + @Override + @Transactional + public R timedTaskHouseJobHandler(){ + + //需要修改的房屋信息 + List<ComMngPopulationHouseDO> updateHouseList = new ArrayList<>(); + //需要修改的房屋人员关系信息 + List<ComMngPopulationHouseUserDO> updateHouseUserList = new ArrayList<>(); + + ComMngPopulationDO population = new ComMngPopulationDO(); + + //查询所有房屋列表信息 + List<ComMngPopulationHouseDO> houseList = comMngPopulationHouseDAO.selectList(null); + //遍历房屋信息 + for (ComMngPopulationHouseDO house : houseList) { + List<ComMngPopulationHouseUserDO> houseUserList = comMngPopulationHouseUserDAO.selectList(new QueryWrapper<ComMngPopulationHouseUserDO>() + .lambda().eq(ComMngPopulationHouseUserDO::getHouseId,house.getId())); + if(houseUserList.isEmpty()){ + house.setStatus(ComMngPopulationHouseDO.status.kongzhi); + }else{ + house.setStatus(ComMngPopulationHouseDO.status.zizhu); + + //查询该房屋下人员是否是租住状态 + List<Long> populationIds = houseUserList.stream().map(ComMngPopulationHouseUserDO::getPopulId).collect(Collectors.toList()); + Integer count = comMngPopulationHouseUserDAO.getHouseUserIsRent(populationIds); + if(count > 0){ + house.setStatus(ComMngPopulationHouseDO.status.zuzhu); + } + + //查询该房屋下人员的关联信息的关系 + for (ComMngPopulationHouseUserDO houseUser : houseUserList) { + population = comMngPopulationDAO.selectById(houseUser.getPopulId()); + if(population != null){ + if(population.getIsRent() != null && population.getIsRent().equals(ComMngPopulationDO.isOk.yes)){ + houseUser.setRelationId(ComMngPopulationHouseUserDO.relationId.zuhu); + }else { + houseUser.setRelationId(ComMngPopulationHouseUserDO.relationId.zuzhu); + } + updateHouseUserList.add(houseUser); + } + } + } + + //查看房子的楼层排序 + if(house.getFloorNum() == null && StringUtils.isNotEmpty(house.getHouseNo())){ + boolean result = house.getHouseNo().matches("[0-9]+"); + if (result) {// 该字段为纯数字 + if (house.getHouseNo().length() == 4) { + String floorNum = house.getHouseNo().substring(0, 2).replaceAll("^(0+)", ""); + if(StringUtils.isNotEmpty(floorNum)){ + house.setFloorNum(Integer.parseInt(floorNum)); + } + } else if (house.getHouseNo().length() == 3) { + String floorNum = house.getHouseNo().substring(0, 1).replaceAll("^(0+)", ""); + if(StringUtils.isNotEmpty(floorNum)){ + house.setFloorNum(Integer.parseInt(floorNum)); + } + } + } + } + updateHouseList.add(house); + } + + if(!updateHouseList.isEmpty()){ + comMngPopulationHouseService.updateBatchById(updateHouseList); + } + + if(!updateHouseUserList.isEmpty()){ + comMngPopulationHouseUserService.updateBatchById(updateHouseUserList); + } + return R.ok(); + } + } -- Gitblit v1.7.1