From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationHouseServiceImpl.java | 103 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 93 insertions(+), 10 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..30b810c 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()); }); @@ -111,7 +116,7 @@ () -> new TreeSet<>(Comparator.comparing(o -> o.getAlley() + ";" + o.getHouseNum()))), ArrayList::new)); cascadeHouseVOList.forEach(cascade -> { - cascade.setName(cascade.getHouseNum()); + cascade.setName(cascade.getHouseNum()+"("+cascade.getName()+")"); }); } break; @@ -429,8 +434,8 @@ // subordinateList = // subordinateList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new // TreeSet<>(Comparator.comparing(o -> o.getFloor()))), ArrayList::new)); - subordinateList = subordinateList.stream().filter(distinctByKey(ComMngSubordinateVO::getFloor)) - .collect(Collectors.toList()); +// subordinateList = subordinateList.stream().filter(distinctByKey(ComMngSubordinateVO::getFloor)) +// .collect(Collectors.toList()); subordinateList.forEach(cascade -> { if (cascade.getFloor().contains("栋")) { cascade.setName(cascade.getFloor()); @@ -443,8 +448,8 @@ if (houseDO != null) { subordinateList = this.baseMapper.getHouseLevelByUnitNos(houseDO.getVillageId(), houseDO.getFloor()); - subordinateList = subordinateList.stream().filter(distinctByKey(ComMngSubordinateVO::getUnitNo)) - .collect(Collectors.toList()); +// subordinateList = subordinateList.stream().filter(distinctByKey(ComMngSubordinateVO::getUnitNo)) +// .collect(Collectors.toList()); // subordinateList = // subordinateList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new // TreeSet<>(Comparator.comparing(o -> o.getUnitNo()))), ArrayList::new)); @@ -461,8 +466,8 @@ if (houseDO != null) { subordinateList = this.baseMapper.getHouseLevelByHouseNos(houseDO.getVillageId(), houseDO.getFloor(), houseDO.getUnitNo()); - subordinateList = subordinateList.stream().filter(distinctByKey(ComMngSubordinateVO::getHouseNo)) - .collect(Collectors.toList()); +// subordinateList = subordinateList.stream().filter(distinctByKey(ComMngSubordinateVO::getHouseNo)) +// .collect(Collectors.toList()); // subordinateList = // subordinateList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new // TreeSet<>(Comparator.comparing(o -> o.getHouseNo()))), ArrayList::new)); @@ -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