From 8555f974846ca5b4f4734f52b51e39cd4502df44 Mon Sep 17 00:00:00 2001 From: DESKTOP-71BH0QO\L、ming <172680469@qq.com> Date: 星期五, 02 四月 2021 15:46:30 +0800 Subject: [PATCH] fix:修改bug --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 41 insertions(+), 14 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java index 6437ed0..0770984 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java @@ -13,9 +13,11 @@ import com.panzhihua.common.model.vos.community.ComMngVillageVO; import com.panzhihua.service_community.dao.ComActDAO; import com.panzhihua.service_community.dao.ComActVillageDAO; +import com.panzhihua.service_community.dao.ComMngPopulationDAO; import com.panzhihua.service_community.dao.ComMngVolunteerMngDAO; import com.panzhihua.service_community.model.dos.ComActDO; import com.panzhihua.service_community.model.dos.ComActDiscussDO; +import com.panzhihua.service_community.model.dos.ComMngPopulationDO; import com.panzhihua.service_community.model.dos.ComMngVillageDO; import com.panzhihua.service_community.service.ComMngVillageService; import org.springframework.beans.BeanUtils; @@ -38,6 +40,8 @@ ComActVillageDAO comActVillageDAO; @Resource ComActDAO comActDAO; + @Resource + ComMngPopulationDAO populationDAO; @Override public R addComActVillage(ComMngVillageVO comMngVillageVO) { @@ -45,6 +49,7 @@ LambdaQueryWrapper<ComMngVillageDO> param = new QueryWrapper<ComMngVillageDO>().lambda(); param.eq(ComMngVillageDO::getCommunityId, comMngVillageVO.getCommunityId()); param.eq(ComMngVillageDO::getAlley, comMngVillageVO.getAlley()); + param.eq(ComMngVillageDO::getHouseNum, comMngVillageVO.getHouseNum()); Integer resultCount = comActVillageDAO.selectCount(param); if (resultCount > 0) { return R.fail("实有房屋已经存在"); @@ -93,12 +98,18 @@ userLambdaQueryWrapper.like(ComMngVillageDO::getAlley, pageComMngVillageDTO.getAlley()); } Page userPage = new Page(pageNum, pageSize); - IPage<ComMngVillageDO> doPager = comActVillageDAO.selectPage(userPage, userLambdaQueryWrapper); + IPage<ComMngVillageDO> doPager = comActVillageDAO.selectPage(userPage, userLambdaQueryWrapper.orderByDesc(ComMngVillageDO::getCreateAt)); return R.ok(doPager); } @Override public R delecComActVillage(List<Long> Ids) { + LambdaQueryWrapper<ComMngPopulationDO> paramWrapper = Wrappers.lambdaQuery(); + paramWrapper.in(ComMngPopulationDO::getVillageId, Ids); + ComMngPopulationDO mngPopulationDO = populationDAO.selectOne(paramWrapper); + if (mngPopulationDO != null) { + return R.fail("无法删除,已绑定实有人口!"); + } int delete = comActVillageDAO.deleteBatchIds(Ids); if (delete > 0) { return R.ok(); @@ -108,20 +119,36 @@ @Override public R listSaveVillage(List<ComMngVillageServeExcelVO> list, Long communityId) { - //获取社区下所有的实有房屋(小区),打印已经存在的重复数据 - List<ComMngVillageDO> comMngVillageDOs = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId, communityId)); - List<String> alleyList = list.stream().map(vo -> vo.getAlley()).collect(Collectors.toList()); - List<Integer> houseNumList = list.stream().map(vo -> vo.getHouseNum()).collect(Collectors.toList()); - List<ComMngVillageDO> resultList = comMngVillageDOs.stream().filter(village -> alleyList.contains(village.getAlley()) && houseNumList.contains(village.getAlley())).collect(Collectors.toList()); - if (resultList != null && resultList.size() > 0) { - List<String> repeatList = resultList.stream().map(ComMngVillageDO::getAlley).collect(Collectors.toList()); - return R.fail("导入实有房屋,存在数据重复:" + repeatList.toArray()); + //思路:获取社区下所有的实有房屋(小区),打印已经存在的重复数据 + if (list.size() == 0) { + return R.fail("数据为空!"); } + List<ComMngVillageDO> comMngVillageDOs = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId, communityId)); + int index = 2; + for (ComMngVillageServeExcelVO vo : list) { + if (vo.getHouseNum() == null) { + return R.fail("门牌号第" + index + "行为空!"); + } + if (vo.getAlley() == null) { + return R.fail("街路巷第" + index + "行为空!"); + } + //判断DB和exel数据重复判断 + boolean result = comMngVillageDOs.stream().anyMatch(village -> village.getAlley().equals(vo.getAlley()) && village.getHouseNum().intValue() == vo.getHouseNum().intValue()); + if (result) { + return R.fail("导入街路巷已存在(" + vo.getAlley() + ")"); + } + index++; + } + ComActDO comActDO = comActDAO.selectById(communityId); ArrayList<ComMngVillageDO> comMngVillageDOS = Lists.newArrayList(); - BeanUtils.copyProperties(list, comMngVillageDOS); - /*this.saveBatch(comMngCarDOS); - return R.ok("共计导入车辆数量:" + comMngCarDOS.size());*/ - System.out.println(comMngVillageDOS); - return null; + list.forEach(vo -> { + ComMngVillageDO comMngVillageDO = new ComMngVillageDO(); + BeanUtils.copyProperties(vo, comMngVillageDO); + comMngVillageDO.setCommunityId(comActDO.getCommunityId()); + comMngVillageDO.setStreetId(comActDO.getStreetId()); + comMngVillageDOS.add(comMngVillageDO); + }); + this.saveBatch(comMngVillageDOS); + return R.ok("共计导入实有房屋数量:" + comMngVillageDOS.size()); } } -- Gitblit v1.7.1