From cbf825f4e63e77241a11ec90841637991e43940f Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期六, 24 七月 2021 18:11:28 +0800
Subject: [PATCH] Merge branch 'test' into 'master'

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java |   75 +++++++++++++++++++++++++++++--------
 1 files changed, 59 insertions(+), 16 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 f41c96d..59118ed 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
@@ -55,6 +55,7 @@
 import com.panzhihua.service_community.service.ComMngPopulationService;
 import com.panzhihua.service_community.service.ComMngVillageService;
 import com.panzhihua.service_community.service.EventResourceService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -64,12 +65,14 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
 /**
  * 实有人口Service实现类
  */
+@Slf4j
 @Service
 public class ComMngPopulationServiceImpl extends ServiceImpl<ComMngPopulationDAO, ComMngPopulationDO> implements ComMngPopulationService {
     @Resource
@@ -297,7 +300,21 @@
                 comMngPopulationVO.setAgeEndTime(ageEndTime);
             }
         }
-
+        if (comMngPopulationVO.getAgeStartTime() !=null && !"".equals(comMngPopulationVO.getAgeStartTime()) && comMngPopulationVO.getAgeEndTime() !=null && !"".equals(comMngPopulationVO.getAgeEndTime())){
+            if (comMngPopulationVO.getAgeStartTime().equals(comMngPopulationVO.getAgeEndTime())) {
+                Date endAge = DateUtils.stringToDate(comMngPopulationVO.getAgeEndTime(), new SimpleDateFormat("yyyy-MM-dd"));
+                String ageStartTime = DateUtils.getDateFormatString(DateUtils.yearAddNum(endAge, -1), "yyyy-MM-dd");
+                if (StringUtils.isNotEmpty(ageStartTime)) {
+                    comMngPopulationVO.setAgeStartTimeEnd(ageStartTime);
+                }
+            } else {
+                Date endAge = DateUtils.stringToDate(comMngPopulationVO.getAgeEndTime(), new SimpleDateFormat("yyyy-MM-dd"));
+                String ageStartTime = DateUtils.getDateFormatString(DateUtils.yearAddNum(endAge, -1), "yyyy-MM-dd");
+                if (StringUtils.isNotEmpty(ageStartTime)) {
+                    comMngPopulationVO.setAgeEndTimeEnd(ageStartTime);
+                }
+            }
+        }
         IPage<ComMngPopulationVO> iPage = populationDAO.pagePopulation(page, comMngPopulationVO);
         if (!iPage.getRecords().isEmpty()) {
             iPage.getRecords().forEach(populDO -> {
@@ -422,7 +439,7 @@
 //                if (vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) {
 //                    populationDO = updatePopulationDO(vo, populationDO);
 //                }
-                populationDO = updatePopulationDO(vo, populationDO);
+                populationDO = updatePopulationDO(vo, comActDO, populationDO);
             }
 
             //处理实有人口房屋居住信息
@@ -454,7 +471,7 @@
         return R.ok();
     }
 
-    private ComMngPopulationDO updatePopulationDO(ComMngPopulationServeExcelVO vo, ComMngPopulationDO populationDO) throws Exception {
+    private ComMngPopulationDO updatePopulationDO(ComMngPopulationServeExcelVO vo, ComActDO comActDO, ComMngPopulationDO populationDO) throws Exception {
         UpdateWrapper<ComMngPopulationDO> updateWrapper = new UpdateWrapper<>();
         updateWrapper.eq("id",populationDO.getId());
         ComMngPopulationDO update = new ComMngPopulationDO();
@@ -467,7 +484,24 @@
 //        if (StringUtils.isNotEmpty(populationDO.getPhone())) {
 //            update.setPhone(populationDO.getPhone());
 //        }
+        String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
         BeanUtils.copyProperties(vo, update);
+        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
+        //查询当前社区标签列表
+        List<String> list = new ArrayList<>();
+        List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", comActDO.getCommunityId()));
+        if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
+            list = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()).collect(Collectors.toList());
+        }
+        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
+        Iterator<String> iterator = userTag.iterator();
+        while (iterator.hasNext()) {
+            String s = iterator.next();
+            if (!list.contains(s))
+                iterator.remove();
+        }
+        update.setLabel(Joiner.on(",").join(userTag));
+        update.setCardNo(cardNoAES);
         this.baseMapper.update(update,updateWrapper);
         return populationDO;
     }
@@ -777,6 +811,7 @@
                 populationHouseUserDO.setId(Snowflake.getId());
                 populationHouseUserDO.setPopulId(populationDO.getId());
                 populationHouseUserDO.setHouseId(houseEditDto.getId());
+                populationHouseUserDO.setRelation(houseEditDto.getRelation());
                 if (houseEditDto.getIsResidence().equals(ComMngPopulationHouseEditDTO.isResidence.yes)) {
                     houseId = houseEditDto.getId();//居住地
                 }
@@ -808,19 +843,19 @@
             }
         }
 
-        ComMngPopulationHouseUserDO comMngPopulationHouseUserDO = comMngPopulationHouseUserDAO.selectOne(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda()
-                .eq(ComMngPopulationHouseUserDO::getPopulId, vo.getId()));
-        if (comMngPopulationHouseUserDO != null) {
-            comMngPopulationHouseUserDO.setRelation(vo.getRelation());
-            comMngPopulationHouseUserDAO.updateById(comMngPopulationHouseUserDO);
-        }else {
-            comMngPopulationHouseUserDO = new ComMngPopulationHouseUserDO();
-            comMngPopulationHouseUserDO.setId(Snowflake.getId());
-            comMngPopulationHouseUserDO.setPopulId(vo.getId());
-            comMngPopulationHouseUserDO.setRelation(vo.getRelation());
-            comMngPopulationHouseUserDO.setCreateAt(new Date());
-            comMngPopulationHouseUserDAO.insert(comMngPopulationHouseUserDO);
-        }
+//        ComMngPopulationHouseUserDO comMngPopulationHouseUserDO = comMngPopulationHouseUserDAO.selectOne(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda()
+//                .eq(ComMngPopulationHouseUserDO::getPopulId, vo.getId()));
+//        if (comMngPopulationHouseUserDO != null) {
+//            comMngPopulationHouseUserDO.setRelation(vo.getRelation());
+//            comMngPopulationHouseUserDAO.updateById(comMngPopulationHouseUserDO);
+//        }else {
+//            comMngPopulationHouseUserDO = new ComMngPopulationHouseUserDO();
+//            comMngPopulationHouseUserDO.setId(Snowflake.getId());
+//            comMngPopulationHouseUserDO.setPopulId(vo.getId());
+//            comMngPopulationHouseUserDO.setRelation(vo.getRelation());
+//            comMngPopulationHouseUserDO.setCreateAt(new Date());
+//            comMngPopulationHouseUserDAO.insert(comMngPopulationHouseUserDO);
+//        }
         if (populationDAO.updateById(populationDO) > 0) {
             return R.ok();
         } else {
@@ -1694,6 +1729,14 @@
      */
     @Override
     public R getGridPopulationAdminList(ComMngPopulationListDTO populationListDTO){
+        if(StringUtils.isNotEmpty(populationListDTO.getKeyWord())){
+            try {
+                populationListDTO.setCardNo(AESUtil.encrypt128(populationListDTO.getKeyWord(),aesKey));
+            }catch (Exception e){
+                log.error("转换身份证号码失败");
+            }
+        }
+
         IPage<ComMngPopulationListVO> populationListIPage = this.baseMapper.getGridPopulationAdminList(new Page(populationListDTO.getPageNum(),populationListDTO.getPageSize()),populationListDTO);
         if(!populationListIPage.getRecords().isEmpty()){
             populationListIPage.getRecords().forEach(population -> {

--
Gitblit v1.7.1