From 11a5d3328b2784af4afcaa5d92fdcece094be8b5 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期一, 18 十月 2021 13:16:09 +0800 Subject: [PATCH] 实有房屋数据修复任务 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseServiceImpl.java | 71 +++++++++++++++++++++++++++++++++++ 1 files changed, 71 insertions(+), 0 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..dfd229c 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,7 @@ import javax.annotation.Resource; import com.panzhihua.common.model.dtos.community.ComMngPopulationHouseInsertAdminDTO; +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 +67,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<>(); @@ -477,6 +482,7 @@ return R.ok(subordinateList); } + @Override public R populationRelationHouse(ComMngPopulationRelationHouseDTO relationHouseDTO) { if (relationHouseDTO.getPopulationId().isEmpty()) { @@ -538,4 +544,69 @@ } } + @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.getIsRent().equals(ComMngPopulationDO.isOk.yes)){ + houseUser.setRelationId(ComMngPopulationHouseUserDO.relationId.zuhu); + }else { + houseUser.setRelationId(ComMngPopulationHouseUserDO.relationId.zuzhu); + } + updateHouseUserList.add(houseUser); + } + } + + //查看房子的楼层排序 + if(house.getFloorNum() == null){ + boolean result = house.getHouseNo().matches("[0-9]+"); + if (result) {// 该字段为纯数字 + if (house.getHouseNo().length() == 4) { + house.setFloorNum(Integer.parseInt(house.getHouseNo().substring(0, 2).replaceAll("^(0+)", ""))); + } else if (house.getHouseNo().length() == 3) { + house.setFloorNum(Integer.parseInt(house.getHouseNo().substring(0, 1).replaceAll("^(0+)", ""))); + } + } + } + updateHouseList.add(house); + } + + if(!updateHouseList.isEmpty()){ + comMngPopulationHouseService.updateBatchById(updateHouseList); + } + + if(!updateHouseUserList.isEmpty()){ + comMngPopulationHouseUserService.updateBatchById(updateHouseUserList); + } + return R.ok(); + } + } -- Gitblit v1.7.1