From 970ed0f8df6a19e4e3dae062c4e2e2232a0b97d0 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期三, 21 四月 2021 11:06:45 +0800
Subject: [PATCH] 删除商家bug修复

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java |  171 ++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 120 insertions(+), 51 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
index c2a3f7b..6a879ca 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
@@ -1,17 +1,23 @@
 package com.panzhihua.service_community.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.base.Joiner;
 import com.google.common.collect.Lists;
+import com.panzhihua.common.exceptions.ServiceException;
 import com.panzhihua.common.model.dtos.community.ComMngPopulationDTO;
+import com.panzhihua.common.model.dtos.community.ComMngPopulationTagDTO;
 import com.panzhihua.common.model.dtos.community.PageComActDTO;
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.community.*;
+import com.panzhihua.common.model.vos.user.ComHouseMemberVo;
 import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO;
 import com.panzhihua.service_community.dao.ComActActivityDAO;
 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.model.dos.ComActActivityDO;
 import com.panzhihua.service_community.model.dos.ComActDO;
@@ -22,6 +28,7 @@
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
+import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
@@ -32,9 +39,13 @@
  * 实有人口Service实现类
  */
 @Service
-public class ComMngPopulationServiceImpl implements ComMngPopulationService {
+public class ComMngPopulationServiceImpl extends ServiceImpl<ComMngPopulationDAO, ComMngPopulationDO> implements ComMngPopulationService {
     @Resource
     private ComMngPopulationDAO populationDAO;
+    @Resource
+    private ComActDAO comActDAO;
+    @Resource
+    private ComActVillageDAO comActVillageDAO;
 
 
     /**
@@ -108,8 +119,8 @@
         ComMngPopulationVO comMngPopulationVO = new ComMngPopulationVO();
         BeanUtils.copyProperties(comMngPopulationDO, comMngPopulationVO);
 
-        //查询家庭成员信息
-        List<ComMngFamilyInfoVO> comMngFamilyInfoVOS = populationDAO.listFamilyByUserId(comMngPopulationDO.getId());
+        //查询房屋成员信息
+        List<ComHouseMemberVo> comMngFamilyInfoVOS = populationDAO.listHouseMermberByUserId(comMngPopulationDO);
         if (!comMngFamilyInfoVOS.isEmpty()) {
             comMngPopulationVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS);
         }
@@ -175,64 +186,122 @@
 
     @Override
     public R listSavePopulation(List<ComMngPopulationServeExcelVO> list, Long communityId) {
-       /* //思路:实有房屋(小区)当前是存在重复人口,打印已经存在的重复数据
-        List<ComMngPopulationDO> comMngPopulationDOS = populationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId, communityId));
         if (list.size() == 0) {
             return R.fail("数据为空!");
         }
-        judgeEmpty(list);
-
+        List<ComMngPopulationDO> comMngPopulationDOS = populationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId, communityId));
+        //查询该社区所有(实有房屋)小区
+//        List<ComMngVillageDO> villageDOList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId, communityId));
+        int index = 2;
+        for (ComMngPopulationServeExcelVO vo : list) {
+            //判断DB和exel数据重复判断
+            boolean result = comMngPopulationDOS.stream().anyMatch(population -> population.getCardNo().equals(vo.getCardNo()));
+            if (result) {
+                return R.fail("导入实有人口已存在(" + vo.getCardNo() + ")");
+            }
+            index++;
+        }
         ComActDO comActDO = comActDAO.selectById(communityId);
-        ArrayList<ComMngVillageDO> comMngVillageDOS = Lists.newArrayList();
+        ArrayList<ComMngPopulationDO> populationDOList = Lists.newArrayList();
         list.forEach(vo -> {
-            ComMngVillageDO comMngVillageDO = new ComMngVillageDO();
-            BeanUtils.copyProperties(vo, comMngVillageDO);
-            comMngVillageDO.setCommunityId(comActDO.getCommunityId());
-            comMngVillageDO.setStreetId(comActDO.getStreetId());
-            comMngVillageDOS.add(comMngVillageDO);
+            ComMngPopulationDO comMngPopulationDO = new ComMngPopulationDO();
+            //查询街路巷是否存在
+            ComMngVillageDO comMngVillageDO = comActVillageDAO.selectOne(new QueryWrapper<ComMngVillageDO>().eq("alley",vo.getRoad()).eq("house_num",vo.getDoorNo()).eq("community_id",communityId));
+//            ComMngVillageDO comMngVillageDO = villageDOList.stream().filter(village -> village.getAlley().equals(vo.getRoad()) && village.getHouseNum().equals(Integer.valueOf(vo.getDoorNo()))).findFirst().orElse(null);
+            BeanUtils.copyProperties(vo, comMngPopulationDO);
+            if (comMngVillageDO == null) {
+                throw new ServiceException("街道巷:" + vo.getRoad() + "不存在!");
+            }
+            comMngPopulationDO.setVillageId(comMngVillageDO.getVillageId());
+            comMngPopulationDO.setActId(comActDO.getCommunityId());
+            comMngPopulationDO.setStreetId(comActDO.getStreetId());
+            comMngPopulationDO.setLabel(Joiner.on(",").join(vo.getUserTagStr()));
+            comMngPopulationDO.setVillageName(comMngVillageDO.getGroupAt());
+            populationDOList.add(comMngPopulationDO);
         });
-        this.saveBatch(comMngVillageDOS);
-        return R.ok("共计导入实有房屋数量:" + comMngVillageDOS.size());*/
-        return null;
+        this.saveBatch(populationDOList);
+        return R.ok("共计导入实有人口数量:" + populationDOList.size());
+    }
+
+    public boolean isNumeric(String str) {
+        for (int i = 0; i < str.length(); i++) {
+            System.out.println(str.charAt(i));
+            if (!Character.isDigit(str.charAt(i))) {
+                return false;
+            }
+        }
+        return true;
     }
 
     /**
-     * excel数据校验
-     *
-     * @param list
+     * 根据id修改实有人口标签
+     * @param populationTagDTO 请求参数
+     * @return 修改结果
      */
-    private void judgeEmpty(List<ComMngPopulationServeExcelVO> list) {
-        /*int index = 2;
-        for (ComMngPopulationServeExcelVO vo : list) {
-            ComMngPopulationServeExcelVO comMngPopulationServeExcelVO = new ComMngPopulationServeExcelVO();
-            comMngPopulationServeExcelVO.setName("");
-            comMngPopulationServeExcelVO.setSex(0);
-            comMngPopulationServeExcelVO.setAge(0);
-            comMngPopulationServeExcelVO.setAdsf(0);
-            comMngPopulationServeExcelVO.setRoad("");
-            comMngPopulationServeExcelVO.setDoorNo(0);
-            comMngPopulationServeExcelVO.setFloor("");
-            comMngPopulationServeExcelVO.setUnitNo(0);
-            comMngPopulationServeExcelVO.setHouseNo(0);
-            comMngPopulationServeExcelVO.setNation("");
-            comMngPopulationServeExcelVO.setPoliticalOutlook(0);
-            comMngPopulationServeExcelVO.setCardNo("");
-            comMngPopulationServeExcelVO.setPhone("");
-            comMngPopulationServeExcelVO.setNativePlace("");
-            comMngPopulationServeExcelVO.setWorkCompany("");
+    @Override
+    public R editTagPopulation(ComMngPopulationTagDTO populationTagDTO) {
+        ComMngPopulationDO comMngPopulationDO = populationDAO.selectById(populationTagDTO.getId());
+        if (comMngPopulationDO == null) {
+            return R.fail("未查询到人口记录");
+        }
+        BeanUtils.copyProperties(populationTagDTO,comMngPopulationDO);
 
-            if (vo.get() == null) {
-                return R.fail("门牌号第" + index + "行为空!");
-            }
-            if (vo.getAlley() == null) {
-                return R.fail("街路巷第" + index + "行为空!");
-            }
-            //判断DB和exel数据重复判断
-            boolean result = comMngVillageDOs.stream().allMatch(village -> village.getAlley().equals(vo.getAlley()) && village.getHouseNum().equals(vo.getHouseNum()));
-            if (result) {
-                return R.fail("导入街路巷已存在(" + vo.getAlley() + ")");
-            }
-            index++;
-        }*/
+        int nub = populationDAO.updateById(comMngPopulationDO);
+        if(nub < 1){
+            return R.fail();
+        }
+        return R.ok();
+    }
+
+    /**
+     * 批量删除实有人口
+     * @param Ids
+     * @return
+     */
+    @Override
+    public R deletePopulations(List<Long> Ids) {
+        int delete = populationDAO.deleteBatchIds(Ids);
+        if (delete > 0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 根据社区id查询所有实有人口
+     * @param communityId   社区id
+     * @return  查询结果
+     */
+    @Override
+    public R getPopulationListByCommunityId(Long communityId) {
+        List<ComMngPopulationDO> list = populationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().eq("act_id",communityId));
+        List<ComMngPopulationVO> resultList = new ArrayList<>();
+        if(list.size() > 0){
+            list.forEach(populationDO -> {
+                ComMngPopulationVO populationVO=new ComMngPopulationVO();
+                BeanUtils.copyProperties(populationDO,populationVO);
+                resultList.add(populationVO);
+            });
+        }
+        return R.ok(resultList);
+    }
+
+    /**
+     * 根据id集合查询实有人口
+     * @param Ids   实有人口id集合
+     * @return  查询结果
+     */
+    @Override
+    public R getPopulationLists(List<Long> Ids) {
+        List<ComMngPopulationDO> list = populationDAO.selectBatchIds(Ids);
+        List<ComMngPopulationVO> resultList = new ArrayList<>();
+        if(list.size() > 0){
+            list.forEach(populationDO -> {
+                ComMngPopulationVO populationVO = new ComMngPopulationVO();
+                BeanUtils.copyProperties(populationDO,populationVO);
+                resultList.add(populationVO);
+            });
+        }
+        return R.ok(resultList);
     }
 }

--
Gitblit v1.7.1