From 3c884ccd7b51edf3b36840bf99de5edaa41a38a7 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期三, 12 十月 2022 19:05:28 +0800
Subject: [PATCH] 三说会堂事件流程处理

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java |   90 +++++++++++++++++++++++++++++++--------------
 1 files changed, 62 insertions(+), 28 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 01028ba..24d319a 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
@@ -6,6 +6,8 @@
 
 import javax.annotation.Resource;
 
+import com.panzhihua.service_community.dao.*;
+import com.panzhihua.service_community.model.dos.*;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
@@ -25,15 +27,8 @@
 import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingVO;
 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.ComMngPopulationDAO;
-import com.panzhihua.service_community.dao.ComMngPopulationHouseDAO;
-import com.panzhihua.service_community.model.dos.ComActDO;
-import com.panzhihua.service_community.model.dos.ComMngPopulationDO;
-import com.panzhihua.service_community.model.dos.ComMngPopulationHouseDO;
-import com.panzhihua.service_community.model.dos.ComMngVillageDO;
 import com.panzhihua.service_community.service.ComMngVillageService;
+import org.springframework.util.CollectionUtils;
 
 /**
  * @author: llming
@@ -50,6 +45,8 @@
     ComMngPopulationDAO populationDAO;
     @Resource
     private ComMngPopulationHouseDAO comMngPopulationHouseDAO;
+    @Resource
+    private ComMngBuildingDAO comMngBuildingDAO;
 
     @Override
     public R addComActVillage(ComMngVillageVO comMngVillageVO) {
@@ -84,11 +81,34 @@
     @Override
     public R listComActVillage(ComMngVillageVO comMngVillageVO) {
         List<ComMngVillageDO> vos = Lists.newArrayList();
-        LambdaQueryWrapper<ComMngVillageDO> param = new QueryWrapper<ComMngVillageDO>().lambda();
-        param.eq(ComMngVillageDO::getAlley, comMngVillageVO.getAlley());
-        param.eq(ComMngVillageDO::getCommunityId, comMngVillageVO.getCommunityId());
-        List<ComMngVillageDO> comMngVillageDOS = comActVillageDAO.selectList(param);
-        BeanUtils.copyProperties(vos, comMngVillageDOS);
+        if(comMngVillageVO.getCommunityId()!=null){
+            LambdaQueryWrapper<ComMngVillageDO> param = new QueryWrapper<ComMngVillageDO>().lambda();
+            if(StringUtils.isNotEmpty(comMngVillageVO.getName())){
+                param.like(ComMngVillageDO::getName, comMngVillageVO.getName());
+            }
+            if(comMngVillageVO.getCommunityId()!=0){
+                param.eq(ComMngVillageDO::getCommunityId, comMngVillageVO.getCommunityId());
+            }
+            List<ComMngVillageDO> comMngVillageDOS = comActVillageDAO.selectList(param);
+            BeanUtils.copyProperties(comMngVillageDOS, vos);
+            if(CollectionUtils.isEmpty(comMngVillageDOS)){
+                //默认添加小区
+                ComMngVillageDO comMngVillageDO=new ComMngVillageDO();
+                comMngVillageDO.setVillageId(1540264792718184449L);
+                comMngVillageDO.setType(1);
+                comMngVillageDO.setName("该社区/村暂未添加小区(院落),请先选择本项");
+                comMngVillageDOS.add(comMngVillageDO);
+            }
+            return R.ok(comMngVillageDOS);
+        }
+        if(CollectionUtils.isEmpty(vos)){
+            //默认添加小区
+            ComMngVillageDO comMngVillageDO=new ComMngVillageDO();
+            comMngVillageDO.setVillageId(1540264792718184449L);
+            comMngVillageDO.setType(1);
+            comMngVillageDO.setName("该社区/村暂未添加小区(院落),请先选择本项");
+            vos.add(comMngVillageDO);
+        }
         return R.ok(vos);
     }
 
@@ -139,19 +159,6 @@
                     villageVO.setCarTotal(villageTotal.getCarTotal());
                     villageVO.setHouseTotal(villageTotal.getHouseTotal());
                     villageVO.setPopulationTotal(villageTotal.getPopulationTotal());
-                }
-
-                //如果小区没有名字,则将街路巷和地区号拼接起来
-                if(village.getName() != null && StringUtils.isNotEmpty(village.getName())){
-                    villageVO.setGroupAt(village.getName());
-                }else{
-                    StringBuilder sb = new StringBuilder();
-                    sb.append(village.getAlley());
-                    if(!village.getHouseNum().contains("号")){
-                        sb.append(village.getHouseNum() + "号");
-                    }
-                    villageVO.setGroupAt(sb.toString());
-                    villageVO.setName(sb.toString());
                 }
                 villageVOList.add(villageVO);
             });
@@ -231,6 +238,7 @@
             path.append(vo.getAlley()).append(">").append(vo.getHouseNum()).append(">").append(vo.getGroupAt());
             comMngVillageDO.setPath(path.toString());
             comMngVillageDO.setUpdateAt(new Date());
+            comMngVillageDO.setName(comMngVillageDO.getGroupAt());
             comMngVillageDOS.add(comMngVillageDO);
         });
         this.saveBatch(comMngVillageDOS);
@@ -243,12 +251,38 @@
         if (comMngVillageDO == null) {
             return R.fail("id有误!");
         }
-        BeanUtils.copyProperties(comMngVillageVO, comMngVillageDO);
-        comMngVillageDO.setName(comMngVillageVO.getGroupAt());
+        if(!comMngVillageVO.getAlley().equals(comMngVillageDO.getAlley())&&!comMngVillageVO.getHouseNum().equals(comMngVillageDO.getHouseNum())){
+            Integer count= this.baseMapper.selectCount(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getAlley,comMngVillageVO.getAlley()).eq(ComMngVillageDO::getHouseNum,comMngVillageVO.getHouseNum()));
+            if(count>0){
+                return R.fail("街路巷已存在");
+            }
+            //历史人口数据处理
+            List<ComMngPopulationDO> populationDOS=this.populationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getVillageId,villageId));
+            if(!populationDOS.isEmpty()){
+                populationDOS.forEach(comMngPopulationDO -> {
+                    comMngPopulationDO.setRoad(comMngVillageVO.getAlley());
+                    comMngPopulationDO.setDoorNo(comMngVillageVO.getHouseNum());
+                    comMngPopulationDO.setAddress(comMngPopulationDO.getAddress().replace(comMngVillageDO.getAlley()+comMngVillageDO.getHouseNum(),comMngVillageVO.getAlley()+comMngVillageVO.getHouseNum()));
+                    this.populationDAO.updateById(comMngPopulationDO);
+                });
+            }
+            //历史房屋数据处理
+            List<ComMngPopulationHouseDO> comMngPopulationHouseDOS=this.comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getVillageId,comMngVillageVO.getVillageId()));
+            if(!comMngPopulationHouseDOS.isEmpty()){
+                comMngPopulationHouseDOS.forEach(comMngPopulationHouseDO -> {
+                    comMngPopulationHouseDO.setAlley(comMngVillageVO.getAlley());
+                    comMngPopulationHouseDO.setHouseNum(comMngVillageVO.getHouseNum());
+                    comMngPopulationHouseDO.setAddress(comMngPopulationHouseDO.getAddress().replace(comMngVillageDO.getAlley()+comMngVillageDO.getHouseNum(),comMngVillageVO.getAlley()+comMngVillageVO.getHouseNum()));
+                    this.comMngPopulationHouseDAO.updateById(comMngPopulationHouseDO);
+                });
+            }
+        }
         ComActDO comActDO = comActDAO.selectById(comMngVillageDO.getCommunityId());
         if (comActDO == null || comActDO.getStreetId() == null) {
             return R.fail("社区没有绑定街道,请绑定后操作!");
         }
+        BeanUtils.copyProperties(comMngVillageVO, comMngVillageDO);
+        comMngVillageDO.setName(comMngVillageVO.getGroupAt());
         comMngVillageDO.setStreetId(comActDO.getStreetId());
         int update = this.baseMapper.update(comMngVillageDO,
             new LambdaQueryWrapper<ComMngVillageDO>().eq(ComMngVillageDO::getVillageId, villageId));

--
Gitblit v1.7.1