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/ComActBuildingServiceImpl.java | 427 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 383 insertions(+), 44 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java index ee1b044..f06b13b 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java @@ -10,20 +10,22 @@ import cn.hutool.core.util.IdcardUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.enums.PopulIsOksEnum; import com.panzhihua.common.enums.PopulPoliticalOutlookEnum; -import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; -import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto; +import com.panzhihua.common.model.dtos.community.building.admin.*; import com.panzhihua.common.model.vos.community.ComMngVillageVO; +import com.panzhihua.common.model.vos.community.ComPopulationActVO; import com.panzhihua.common.model.vos.community.building.admin.BuildingUnitHouseListAdminVo; import com.panzhihua.common.model.vos.community.building.admin.PageBuildingListAdminVo; import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseDetailVO; import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseVO; import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingVO; import com.panzhihua.common.model.vos.grid.PopulationListVO; +import com.panzhihua.service_community.dao.*; +import com.panzhihua.service_community.model.dos.*; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; -import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; @@ -32,13 +34,6 @@ import com.panzhihua.common.model.vos.community.ComMngPopulationImportErrorVO; import com.panzhihua.common.utlis.Snowflake; import com.panzhihua.common.utlis.StringUtils; -import com.panzhihua.service_community.dao.ComActDAO; -import com.panzhihua.service_community.dao.ComActVillageDAO; -import com.panzhihua.service_community.dao.ComMngBuildingDAO; -import com.panzhihua.service_community.model.dos.ComActDO; -import com.panzhihua.service_community.model.dos.ComMngBuildingDO; -import com.panzhihua.service_community.model.dos.ComMngVillageDO; -import com.panzhihua.service_community.model.dos.GridBuildRelationDO; import com.panzhihua.service_community.service.ComActBuildingService; import com.panzhihua.service_community.service.GridBuildRelationService; @@ -56,28 +51,36 @@ private ComActDAO comActDAO; @Resource private GridBuildRelationService gridBuildRelationService; + @Resource + private ComMngPopulationHouseDAO comMngPopulationHouseDAO; + @Resource + private ComMngPopulationDAO comMngPopulationDAO; + @Resource + private ComMngPopulationHouseUserDAO comMngPopulationHouseUserDAO; @Override public R batchSaveBuilding(List<ComMngBuildingExcelVO> newVoList, Long communityId) { ArrayList<ComMngBuildingDO> list = Lists.newArrayList(); List<GridBuildRelationDO> keyList = new ArrayList<>(); List<ComMngPopulationImportErrorVO> errorList = new ArrayList<>(); - ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); - importErrorVO.setErrorMsg("重复楼栋"); - StringBuilder sb = new StringBuilder(); for (ComMngBuildingExcelVO vo : newVoList) { ComMngVillageDO comMngVillageDO = comActVillageDAO.selectOne(new QueryWrapper<ComMngVillageDO>() .eq("alley", vo.getAlley()).eq("house_num", vo.getDoorNo()).eq("community_id", communityId)); if (comMngVillageDO == null) { + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + BeanUtils.copyProperties(vo,importErrorVO); + importErrorVO.setErrorMsg("该社区不存在此街路巷"); + errorList.add(importErrorVO); continue; } vo.setName(vo.getName().replace("栋", "")); List<ComMngBuildingDO> buildingDOList = this.baseMapper.selectList(new QueryWrapper<ComMngBuildingDO>() - .eq("street_id", comMngVillageDO.getStreetId()).eq("act_id", communityId) - .eq("village_id", comMngVillageDO.getVillageId()).eq("name", vo.getName())); + .eq("act_id", communityId).eq("village_id", comMngVillageDO.getVillageId()).eq("name", vo.getName())); if (buildingDOList.size() > 0) { - sb.append("街路巷:").append(vo.getAlley()).append(",门牌号:").append(vo.getDoorNo()).append(",楼栋号:") - .append(vo.getName()).append(";"); + ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO(); + BeanUtils.copyProperties(vo,importErrorVO); + importErrorVO.setErrorMsg("该楼栋已存在"); + errorList.add(importErrorVO); continue; } ComMngBuildingDO comMngBuildingDO = new ComMngBuildingDO(); @@ -85,12 +88,13 @@ comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); +// comMngBuildingDO.setElevatorTotal(vo.getElevatorTotal()); ComActDO actDO = comActDAO.selectById(comMngVillageDO.getCommunityId()); StringBuilder path = new StringBuilder(); path.append(vo.getAlley()).append(">").append(actDO.getName()).append(comMngVillageDO.getName()).append(">") .append(vo.getName()); comMngBuildingDO.setPath(path.toString()); - comMngBuildingDO.setGridId(vo.getGridId()); +// comMngBuildingDO.setGridId(vo.getGridId()); list.add(comMngBuildingDO); GridBuildRelationDO gridBuildRelation = getGridBuildRelationDO(communityId, comMngVillageDO.getStreetId(), vo, comMngBuildingDO); @@ -99,13 +103,13 @@ if (list.size() > 0) { this.saveBatch(list); + if(keyList.size() > 0){ + gridBuildRelationService.saveBatchGridBuildRelation(keyList); + } } - if (sb.length() > 0 && !StringUtils.isEmpty(sb.toString())) { - errorList.add(importErrorVO); - return R.fail(JSON.toJSONString(errorList)); + if (errorList.size() > 0) { + return R.fail(errorList); } - gridBuildRelationService.saveBatchGridBuildRelation(keyList); - this.saveBatch(list); return R.ok(); } @@ -118,9 +122,9 @@ gridBuildRelation.setVillageId(comMngBuildingDO.getVillageId()); gridBuildRelation.setGridCommunityId(communityId); gridBuildRelation.setGridStreetId(streetId); - if (vo.getGridId() != null) { - gridBuildRelation.setGridId(Long.valueOf(vo.getGridId())); - } +// if (vo.getGridId() != null) { +// gridBuildRelation.setGridId(Long.valueOf(vo.getGridId())); +// } gridBuildRelation.setGridName(vo.getGridName()); gridBuildRelation.setType(1); gridBuildRelation.setCreateAt(new Date()); @@ -136,6 +140,18 @@ public R pageBuildingAdmin(PageBuildingListDto pageBuildingListDto){ IPage<PageBuildingListAdminVo> pageBuildingList = this.baseMapper.pageBuildingAdmin( new Page(pageBuildingListDto.getPageNum(),pageBuildingListDto.getPageSize()),pageBuildingListDto); + pageBuildingList.getRecords().forEach(building -> { + //查询该楼栋下最高的楼层 + if(StringUtils.isNotEmpty(building.getBuildFloorSum())){ + if(building.getBuildFloorSum().length() == 3){ + building.setBuildFloorSum(building.getBuildFloorSum().substring(0,1)); + }else if(building.getBuildFloorSum().length() == 4){ + building.setBuildFloorSum(building.getBuildFloorSum().substring(0,2)); + }else if(building.getBuildFloorSum().length() > 4){ + building.setBuildFloorSum(building.getBuildFloorSum().substring(0,2)); + } + } + }); return R.ok(pageBuildingList); } @@ -175,15 +191,19 @@ if(StringUtils.isNotEmpty(buildingDO.getName())){ buildList = this.baseMapper.buildingUnitList(buildingDO.getVillageId(),buildingDO.getName()); buildList.forEach(villageBuilding -> { - if (!villageBuilding.getFloor().contains("栋")) { - villageBuilding.setFloorString(villageBuilding.getFloor() + "栋"); - } else { - villageBuilding.setFloorString(villageBuilding.getFloor()); + if(StringUtils.isNotEmpty(villageBuilding.getFloor())){ + if (!villageBuilding.getFloor().contains("栋")) { + villageBuilding.setFloorString(villageBuilding.getFloor() + "栋"); + } else { + villageBuilding.setFloorString(villageBuilding.getFloor()); + } } - if (!villageBuilding.getUnitNo().contains("单元")) { - villageBuilding.setUnitNoString(villageBuilding.getUnitNo() + "单元"); - } else { - villageBuilding.setUnitNoString(villageBuilding.getUnitNo()); + if(StringUtils.isNotEmpty(villageBuilding.getUnitNo())){ + if (!villageBuilding.getUnitNo().contains("单元")) { + villageBuilding.setUnitNoString(villageBuilding.getUnitNo() + "单元"); + } else { + villageBuilding.setUnitNoString(villageBuilding.getUnitNo()); + } } }); } @@ -210,19 +230,21 @@ if(StringUtils.isNotEmpty(buildingDO.getName())){ IPage<ComMngVillageBuildingHouseVO> buildingHousePage = this.baseMapper.getBuildingUnitHouseList(new Page(unitHouseListDto.getPageNum(),unitHouseListDto.getPageSize()),unitHouseListDto); buildingHousePage.getRecords().forEach(house -> { - if(StringUtils.isNotEmpty(house.getHouseNo())){ - boolean result = house.getHouseNo().matches("[0-9]+"); - if (result) {// 该字段为纯数字 - if (house.getHouseNo().length() == 4) { - house.setBuildingNum(house.getHouseNo().substring(0, 2).replaceAll("^(0+)", "")); - } else if (house.getHouseNo().length() == 3) { - house.setBuildingNum(house.getHouseNo().substring(0, 1).replaceAll("^(0+)", "")); + if(StringUtils.isEmpty(house.getBuildingNum())){ + if(StringUtils.isNotEmpty(house.getHouseNo())){ + boolean result = house.getHouseNo().matches("[0-9]+"); + if (result) {// 该字段为纯数字 + if (house.getHouseNo().length() == 4) { + house.setBuildingNum(house.getHouseNo().substring(0, 2).replaceAll("^(0+)", "")); + } else if (house.getHouseNo().length() == 3) { + house.setBuildingNum(house.getHouseNo().substring(0, 1).replaceAll("^(0+)", "")); + } + } else { + house.setBuildingNum("-"); } } else { house.setBuildingNum("-"); } - } else { - house.setBuildingNum("-"); } }); buildHouseList = buildingHousePage.getRecords(); @@ -262,7 +284,7 @@ // 查询该房屋的户主信息 List<PopulationListVO> householderList = - this.baseMapper.getGridVillageBuildingPopulationList(buildingHouseDetailVO.getId(),communityId, 1, null); + this.baseMapper.getGridVillageBuildingPopulationList(buildingHouseDetailVO.getId(),communityId, null, 1); if (!householderList.isEmpty()) { householderList.forEach(householder -> { if(householder.getPoliticalOutlook() != null){ @@ -312,4 +334,321 @@ }); return R.ok(villageList); } + + @Override + public R addBuildingUnitAdmin(AddBuildingUnitDto addBuildingUnitDto){ + //查询该楼栋信息 + ComMngBuildingDO buildingDO = this.baseMapper.selectById(addBuildingUnitDto.getId()); + if(buildingDO == null){ + return R.fail("未查询到该楼栋信息"); + } + + Integer count = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda() + .eq(ComMngPopulationHouseDO::getVillageId,buildingDO.getVillageId()) + .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName()) + .eq(ComMngPopulationHouseDO::getUnitNo,addBuildingUnitDto.getUnitNo())); + if(count > 0){ + return R.fail("该单元号已存在"); + } + + //查询小区信息 + ComMngVillageDO villageDO = comActVillageDAO.selectById(buildingDO.getVillageId()); + if(villageDO != null){ + StringBuilder address = new StringBuilder(); + StringBuilder housePath = new StringBuilder(); + ComPopulationActVO populationActVO = comActDAO.getPopulationActById(addBuildingUnitDto.getCommunityId()); + if(populationActVO != null){ + address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) + .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) + .append(villageDO.getAlley()).append(villageDO.getHouseNum()).append("号"); + if (StringUtils.isNotEmpty(buildingDO.getName())) { + address.append(buildingDO.getName()).append("栋"); + } + if (StringUtils.isNotEmpty(addBuildingUnitDto.getUnitNo())) { + address.append(addBuildingUnitDto.getUnitNo()).append("单元"); + } + housePath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()).append(">") + .append(villageDO.getAlley()).append(">").append(populationActVO.getName()).append(">").append(villageDO.getName()).append(">").append(address.toString()); + } + ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); + populationHouseDO.setId(Snowflake.getId()); + populationHouseDO.setStreetId(buildingDO.getStreetId()); + populationHouseDO.setVillageId(buildingDO.getVillageId()); + populationHouseDO.setAlley(villageDO.getAlley()); + populationHouseDO.setHouseNum(villageDO.getHouseNum()); + populationHouseDO.setStatus(ComMngPopulationHouseDO.status.kongzhi); + populationHouseDO.setCommunityId(addBuildingUnitDto.getCommunityId()); + populationHouseDO.setFloor(buildingDO.getName()); + populationHouseDO.setUnitNo(addBuildingUnitDto.getUnitNo()); + populationHouseDO.setAddress(address.toString()); + populationHouseDO.setUpdateAt(new Date()); + populationHouseDO.setPath(housePath.toString()); + populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); + comMngPopulationHouseDAO.insert(populationHouseDO); + }else{ + return R.fail(); + } + return R.ok(); + } + + @Override + public R editBuildingUnitAdmin(EditBuildingUnitDto editBuildingUnitDto){ + //查询该楼栋信息 + ComMngBuildingDO buildingDO = this.baseMapper.selectById(editBuildingUnitDto.getId()); + if(buildingDO == null){ + return R.fail("未查询到该楼栋信息"); + } + + Integer oldCount = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda() + .eq(ComMngPopulationHouseDO::getVillageId,buildingDO.getVillageId()) + .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName()) + .eq(ComMngPopulationHouseDO::getUnitNo,editBuildingUnitDto.getOldUnitNo())); + if(oldCount <= 0){ + return R.fail("原单元号不存在"); + } + + Integer newCount = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda() + .eq(ComMngPopulationHouseDO::getVillageId,buildingDO.getVillageId()) + .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName()) + .eq(ComMngPopulationHouseDO::getUnitNo,editBuildingUnitDto.getNewUnitNo())); + if(newCount > 0){ + return R.fail("新单元号已存在"); + } + + //查询小区信息 + ComMngVillageDO villageDO = comActVillageDAO.selectById(buildingDO.getVillageId()); + if(villageDO != null){ + String unitString = editBuildingUnitDto.getNewUnitNo() + "单元"; + + List<ComMngPopulationHouseDO> editHouseList = new ArrayList<>(); + //查询需要修改的房屋列表信息 + List<ComMngPopulationHouseDO> houseList = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda() + .eq(ComMngPopulationHouseDO::getVillageId,villageDO.getVillageId()) + .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName()) + .eq(ComMngPopulationHouseDO::getUnitNo,editBuildingUnitDto.getOldUnitNo())); + houseList.forEach(house -> { + ComMngPopulationHouseDO houseDO = new ComMngPopulationHouseDO(); + houseDO.setId(house.getId()); + houseDO.setAddress(house.getAddress().replace(house.getUnitNo() + "单元", unitString)); + houseDO.setPath(house.getPath().replace(house.getUnitNo() + "单元", unitString)); + houseDO.setUnitNo(editBuildingUnitDto.getNewUnitNo()); + editHouseList.add(houseDO); + }); + + List<ComMngPopulationDO> editPopulationList = new ArrayList<>(); + //查询需要修改的人口信息 + List<ComMngPopulationDO> populationList = comMngPopulationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda() + .eq(ComMngPopulationDO::getVillageId,villageDO.getVillageId()) + .eq(ComMngPopulationDO::getFloor,buildingDO.getName()) + .eq(ComMngPopulationDO::getUnitNo,editBuildingUnitDto.getOldUnitNo())); + populationList.forEach(population -> { + ComMngPopulationDO populationDO = new ComMngPopulationDO(); + populationDO.setId(population.getId()); + populationDO.setAddress(population.getAddress().replace(population.getUnitNo() + "单元", unitString)); + populationDO.setUnitNo(editBuildingUnitDto.getNewUnitNo()); + editPopulationList.add(populationDO); + }); + + if(!editHouseList.isEmpty()){ + comMngPopulationHouseDAO.updateUnitAll(editHouseList); + } + + if(!editPopulationList.isEmpty()){ + comMngPopulationDAO.updateAll(editPopulationList); + } + }else{ + return R.fail(); + } + return R.ok(); + } + + @Override + public R addBuildingHouseAdmin(AddBuildingHouseDto addBuildingHouseDto){ + + //查询该楼栋信息 + ComMngBuildingDO buildingDO = this.baseMapper.selectById(addBuildingHouseDto.getId()); + if(buildingDO == null){ + return R.fail("未查询到该楼栋信息"); + } + + Integer count = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda() + .eq(ComMngPopulationHouseDO::getVillageId,buildingDO.getVillageId()) + .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName()) + .eq(ComMngPopulationHouseDO::getUnitNo,addBuildingHouseDto.getUnitNo()) + .eq(ComMngPopulationHouseDO::getHouseNo,addBuildingHouseDto.getHouseNo())); + if(count > 0){ + return R.fail("该房间已存在"); + } + + //查询小区信息 + ComMngVillageDO villageDO = comActVillageDAO.selectById(buildingDO.getVillageId()); + if(villageDO != null){ + StringBuilder address = new StringBuilder(); + StringBuilder housePath = new StringBuilder(); + ComPopulationActVO populationActVO = comActDAO.getPopulationActById(addBuildingHouseDto.getCommunityId()); + if(populationActVO != null){ + address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) + .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) + .append(villageDO.getAlley()).append(villageDO.getHouseNum()).append("号"); + if (StringUtils.isNotEmpty(buildingDO.getName())) { + address.append(buildingDO.getName()).append("栋"); + } + if (StringUtils.isNotEmpty(addBuildingHouseDto.getUnitNo())) { + address.append(addBuildingHouseDto.getUnitNo()).append("单元"); + } + if (StringUtils.isNotEmpty(addBuildingHouseDto.getHouseNo())) { + address.append(addBuildingHouseDto.getHouseNo()).append("号"); + } + housePath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()).append(">") + .append(villageDO.getAlley()).append(">").append(populationActVO.getName()).append(">").append(villageDO.getName()).append(">").append(address.toString()); + } + ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); + populationHouseDO.setId(Snowflake.getId()); + populationHouseDO.setStreetId(buildingDO.getStreetId()); + populationHouseDO.setVillageId(buildingDO.getVillageId()); + populationHouseDO.setAlley(villageDO.getAlley()); + populationHouseDO.setHouseNum(villageDO.getHouseNum()); + populationHouseDO.setStatus(ComMngPopulationHouseDO.status.kongzhi); + populationHouseDO.setCommunityId(addBuildingHouseDto.getCommunityId()); + populationHouseDO.setFloor(buildingDO.getName()); + populationHouseDO.setUnitNo(addBuildingHouseDto.getUnitNo()); + populationHouseDO.setHouseNo(addBuildingHouseDto.getHouseNo()); + populationHouseDO.setFloorNum(addBuildingHouseDto.getFloorNum()); + populationHouseDO.setAddress(address.toString()); + populationHouseDO.setUpdateAt(new Date()); + populationHouseDO.setPath(housePath.toString()); + populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); + comMngPopulationHouseDAO.insert(populationHouseDO); + }else{ + return R.fail(); + } + return R.ok(); + } + + @Override + public R editBuildingHouseAdmin(EditBuildingHouseDto editBuildingHouseDto){ + + ComMngPopulationHouseDO houseDO = comMngPopulationHouseDAO.selectById(editBuildingHouseDto.getHouseId()); + if(houseDO == null){ + return R.fail("未查询到该户室"); + } + + Integer count = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda() + .eq(ComMngPopulationHouseDO::getVillageId,houseDO.getVillageId()) + .eq(ComMngPopulationHouseDO::getFloor,houseDO.getFloor()) + .eq(ComMngPopulationHouseDO::getUnitNo,houseDO.getUnitNo()) + .eq(ComMngPopulationHouseDO::getHouseNo,editBuildingHouseDto.getHouseNo())); + if(count > 0){ + return R.fail("该房间已存在"); + } + + //查询小区信息 + ComMngVillageDO villageDO = comActVillageDAO.selectById(houseDO.getVillageId()); + if(villageDO != null){ + StringBuilder address = new StringBuilder(); + StringBuilder housePath = new StringBuilder(); + ComPopulationActVO populationActVO = comActDAO.getPopulationActById(editBuildingHouseDto.getCommunityId()); + if(populationActVO != null){ + address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) + .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) + .append(villageDO.getAlley()).append(villageDO.getHouseNum()).append("号"); + if (StringUtils.isNotEmpty(houseDO.getFloor())) { + address.append(houseDO.getFloor()).append("栋"); + } + if (StringUtils.isNotEmpty(houseDO.getUnitNo())) { + address.append(houseDO.getUnitNo()).append("单元"); + } + if (StringUtils.isNotEmpty(editBuildingHouseDto.getHouseNo())) { + address.append(editBuildingHouseDto.getHouseNo()).append("号"); + } + housePath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()).append(">") + .append(villageDO.getAlley()).append(">").append(populationActVO.getName()).append(">").append(villageDO.getName()).append(">").append(address.toString()); + houseDO.setAddress(address.toString()); + houseDO.setPath(housePath.toString()); + } + List<ComMngPopulationDO> editPopulationList = new ArrayList<>(); + //查询需要修改的人口信息 + List<ComMngPopulationDO> populationList = comMngPopulationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda() + .eq(ComMngPopulationDO::getVillageId,villageDO.getVillageId()) + .eq(ComMngPopulationDO::getFloor,houseDO.getFloor()) + .eq(ComMngPopulationDO::getUnitNo,houseDO.getUnitNo()) + .eq(ComMngPopulationDO::getHouseNo,houseDO.getHouseNo())); + populationList.forEach(population -> { + ComMngPopulationDO populationDO = new ComMngPopulationDO(); + populationDO.setId(population.getId()); + populationDO.setAddress(address.toString()); + populationDO.setHouseNo(editBuildingHouseDto.getHouseNo()); + editPopulationList.add(populationDO); + }); + + houseDO.setHouseNo(editBuildingHouseDto.getHouseNo()); + houseDO.setFloorNum(editBuildingHouseDto.getFloorNum()); + comMngPopulationHouseDAO.updateById(houseDO); + + if(!editPopulationList.isEmpty()){ + comMngPopulationDAO.updateAll(editPopulationList); + } + }else{ + return R.fail(); + } + return R.ok(); + } + + @Override + public R deleteBuildingHousePopulationAdmin(DeleteBuildingHousePopulationDto housePopulationDto){ + + ComMngPopulationHouseDO houseDO = comMngPopulationHouseDAO.selectById(housePopulationDto.getHouseId()); + if(houseDO == null){ + return R.fail("未查询到该户室"); + } + + if(housePopulationDto.getType().equals(DeleteBuildingHousePopulationDto.type.yz)){ + ComMngPopulationHouseUserDO houseUserDO = comMngPopulationHouseUserDAO.selectOne(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda() + .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDto.getHouseId()) + .eq(ComMngPopulationHouseUserDO::getPopulId,housePopulationDto.getPopulationId())); + if(houseUserDO != null){ + houseUserDO.setRelationId(ComMngPopulationHouseUserDO.relationId.zuzhu); + houseUserDO.setUpdateAt(new Date()); + comMngPopulationHouseUserDAO.updateById(houseUserDO); + } + }else if(housePopulationDto.getType().equals(DeleteBuildingHousePopulationDto.type.jzr)){ + //清理人员和房屋关联关系 + comMngPopulationHouseUserDAO.delete(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda() + .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDto.getHouseId()) + .eq(ComMngPopulationHouseUserDO::getPopulId,housePopulationDto.getPopulationId())); + + //查询该房屋是否还有人居住 + Integer count = comMngPopulationHouseUserDAO.selectCount(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda() + .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDto.getHouseId())); + if(count <= 0){ + houseDO.setStatus(ComMngPopulationHouseDO.status.kongzhi); + comMngPopulationHouseDAO.updateById(houseDO); + }else{ + //查询该房屋的居住人中是否还有租住的人 + Integer zCount = comMngPopulationHouseUserDAO.selectCount(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda() + .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDto.getHouseId()) + .eq(ComMngPopulationHouseUserDO::getRelationId,ComMngPopulationHouseUserDO.relationId.zuhu)); + if(zCount <= 0){ + houseDO.setStatus(ComMngPopulationHouseDO.status.zizhu); + comMngPopulationHouseDAO.updateById(houseDO); + } + } + } + return R.ok(); + } + + /** + * 根据小区id查询楼栋列表 + * @param villageId 小区id + * @return 查询楼栋列表 + */ + @Override + public R getBuildListByVillageId(Long villageId) { + return R.ok(this.baseMapper.getBuildListByVillageId(villageId)); + } + + @Override + public R delete(Long id) { + return R.ok(this.baseMapper.deleteById(id)); + } } -- Gitblit v1.7.1