From 00a59b93c16b24e7be77c6f1ce4866c75a2e0431 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期二, 19 四月 2022 16:32:21 +0800
Subject: [PATCH] 花城E+防疫修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java |  181 +++++++++++++++++++++++++++++++++-----------
 1 files changed, 135 insertions(+), 46 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java
index 941fde8..9f328e5 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActReserveServiceImpl.java
@@ -1,44 +1,5 @@
 package com.panzhihua.service_community.service.impl;
 
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import cn.hutool.core.date.DateUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.common.collect.Lists;
-import com.panzhihua.common.model.dtos.community.OperationDetailDTO;
-import com.panzhihua.common.model.dtos.community.reserve.*;
-import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.community.ComActReserveIndexVo;
-import com.panzhihua.common.model.vos.community.bigscreen.IndexBackReserve;
-import com.panzhihua.common.model.vos.community.bigscreen.IndexReserve;
-import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubSelectionVO;
-import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubVO;
-import com.panzhihua.common.model.vos.community.reserve.*;
-import com.panzhihua.common.utlis.StringUtils;
-import com.panzhihua.service_community.dao.ComActReserveMapper;
-import com.panzhihua.service_community.dao.ComActReserveSubMapper;
-import com.panzhihua.service_community.model.dos.*;
-import com.panzhihua.common.model.dtos.community.PageUserReserveDTO;
-import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.community.ComActReserveCommitVO;
-import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubVO;
-import com.panzhihua.service_community.dao.*;
-import com.panzhihua.service_community.model.dos.*;
-import com.panzhihua.service_community.service.ComActReserveAnswerContentService;
-import com.panzhihua.service_community.service.ComActReserveRecordService;
-import com.panzhihua.service_community.service.ComActReserveService;
-import com.panzhihua.service_community.service.ComActReserveSubSelectionService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
 import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
@@ -48,12 +9,41 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.alibaba.fastjson.JSON;
+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.collect.Lists;
+import com.panzhihua.common.model.dtos.community.OperationDetailDTO;
+import com.panzhihua.common.model.dtos.community.PageUserReserveDTO;
+import com.panzhihua.common.model.dtos.community.reserve.*;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.ComActReserveCommitVO;
+import com.panzhihua.common.model.vos.community.bigscreen.IndexBackReserve;
+import com.panzhihua.common.model.vos.community.bigscreen.IndexReserve;
+import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubSelectionVO;
+import com.panzhihua.common.model.vos.community.questnaire.QuestnaiteSubVO;
+import com.panzhihua.common.model.vos.community.reserve.*;
+import com.panzhihua.common.utlis.Snowflake;
+import com.panzhihua.common.utlis.StringUtils;
+import com.panzhihua.service_community.dao.*;
+import com.panzhihua.service_community.model.dos.*;
+import com.panzhihua.service_community.service.ComActReserveAnswerContentService;
+import com.panzhihua.service_community.service.ComActReserveRecordService;
+import com.panzhihua.service_community.service.ComActReserveService;
+import com.panzhihua.service_community.service.ComActReserveSubSelectionService;
+
+import cn.hutool.core.date.DateUtil;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * @auther lyq
@@ -79,12 +69,23 @@
     private ComActReserveSubSelectionService comActReserveSubSelectionService;
     @Resource
     private ComActReserveRecordService comActReserveRecordService;
+    @Resource
+    private ComMngPopulationDAO comMngPopulationDAO;
+    @Resource
+    private ComMngPopulationHouseDAO comMngPopulationHouseDAO;
+    @Resource
+    private ComMngPopulationCommunityTagsDAO comMngPopulationCommunityTagsDAO;
+    @Resource
+    private ComMngPopulationHouseUserDAO comMngPopulationHouseUserDAO;
+    @Value("${domain.aesKey:}")
+    private String aesKey;
 
     private final static String COMMIT="用户已提交";
     @Override
     @Transactional
     public R commit(ComActReserveCommitVO comActReserveCommitVO) {
         if(comActReserveCommitVO!=null){
+            ComMngPopulationHouseDO comMngPopulationHouseDO=new ComMngPopulationHouseDO();
             Long userId=comActReserveCommitVO.getUserId();
             Date nowDate=DateUtil.date();
             //查询预约登记记录
@@ -110,6 +111,9 @@
                 else {
                     List<QuestnaiteSubVO> questnaiteSubVOS = JSON.parseArray(comActReserveCommitVO.getJsonObject(),QuestnaiteSubVO.class);
                     if(!questnaiteSubVOS.isEmpty()){
+                        String idCard="";
+                        String houseId="";
+                        String phone="";
                         Long questId=comActReserveCommitVO.getId();
                         List<ComActReserveAnswerContentDO> answerContentList=new ArrayList<>();
                         for(QuestnaiteSubVO questnaiteSub:questnaiteSubVOS){
@@ -167,9 +171,10 @@
                                     answerContentDO.setAnswerContent(subSelectionDO.getContent());
                                     answerContentList.add(answerContentDO);
                                 }
-                            }else{
+                            }
+                            else{
                                 //文字描述不做处理
-                                if(!questnaiteSub.getType().equals(QuestnaiteSubVO.type.describe)){
+                                if(!questnaiteSub.getType().equals(QuestnaiteSubVO.type.describe)&&!questnaiteSub.getType().equals(QuestnaiteSubVO.type.address)){
                                     //问答题处理
                                     String values = questnaiteSub.getValues();
                                     ComActReserveAnswerContentDO answerContentDO = new ComActReserveAnswerContentDO();
@@ -181,9 +186,71 @@
                                     answerContentDO.setAnswerContent(values);
                                     answerContentList.add(answerContentDO);
                                 }
+                                if(questnaiteSub.getType().equals(QuestnaiteSubVO.type.card)){
+                                    idCard=questnaiteSub.getValues();
+                                }
+                                if(questnaiteSub.getType().equals(QuestnaiteSubVO.type.phone)){
+                                    phone=questnaiteSub.getValues();
+                                }
+                                if(questnaiteSub.getType().equals(QuestnaiteSubVO.type.address)){
+                                    houseId=questnaiteSub.getValues();
+                                    comMngPopulationHouseDO=comMngPopulationHouseDAO.selectById(houseId);
+                                    ComActReserveAnswerContentDO answerContentDO = new ComActReserveAnswerContentDO();
+                                    answerContentDO.setUserId(userId);
+                                    answerContentDO.setCreateAt(nowDate);
+                                    answerContentDO.setCreateBy(userId);
+                                    answerContentDO.setReserveSubId(queSubId);
+                                    answerContentDO.setType(2);
+                                    if(comMngPopulationHouseDO!=null){
+                                        answerContentDO.setAnswerContent(comMngPopulationHouseDO.getAddress());
+                                    }
+                                    else {
+                                        answerContentDO.setAnswerContent("");
+                                    }
+                                    answerContentList.add(answerContentDO);
+                                }
                             }
                         }
                         if(!answerContentList.isEmpty()){
+                            //判断实有人口情况
+                            if(StringUtils.isNotEmpty(idCard)&&StringUtils.isNotEmpty(houseId)){
+                                Integer count=comMngPopulationDAO.selectCount(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getCardNoStr,idCard));
+                                if(count==0){
+                                    ComMngPopulationDO comMngPopulationDO=savePopulation(idCard);
+                                    if(comMngPopulationHouseDO!=null){
+                                        comMngPopulationDO.setId(Snowflake.getId());
+                                        comMngPopulationDO.setAddress(comMngPopulationHouseDO.getAddress());
+                                        comMngPopulationDO.setActId(comMngPopulationHouseDO.getCommunityId());
+                                        comMngPopulationDO.setStreetId(comMngPopulationHouseDO.getStreetId());
+                                        comMngPopulationDO.setVillageId(comMngPopulationHouseDO.getVillageId());
+                                        comMngPopulationDO.setHouseId(comMngPopulationHouseDO.getId());
+                                        comMngPopulationDO.setOutOrLocal(1);
+                                        comMngPopulationDO.setPhone(phone);
+                                        comMngPopulationDO.setName(comActReserveCommitVO.getName());
+                                        comMngPopulationDO.setRoad(comMngPopulationHouseDO.getAlley());
+                                        comMngPopulationDO.setDoorNo(comMngPopulationHouseDO.getHouseNum());
+                                        comMngPopulationDO.setFloor(comMngPopulationHouseDO.getFloor());
+                                        comMngPopulationDO.setUnitNo(comMngPopulationHouseDO.getUnitNo());
+                                        comMngPopulationDO.setHouseNo(comMngPopulationHouseDO.getHouseNo());
+                                        comMngPopulationDAO.insert(comMngPopulationDO);
+                                        ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO=new ComMngPopulationCommunityTagsDO();
+                                        comMngPopulationCommunityTagsDO.setCommunityId(comMngPopulationDO.getActId());
+                                        comMngPopulationCommunityTagsDO.setPopulationId(comMngPopulationDO.getId());
+                                        comMngPopulationCommunityTagsDO.setId(Snowflake.getId());
+                                        comMngPopulationCommunityTagsDO.setCreateAt(new Date());
+                                        comMngPopulationCommunityTagsDAO.insert(comMngPopulationCommunityTagsDO);
+                                        ComMngPopulationHouseUserDO comMngPopulationHouseUserDO=new ComMngPopulationHouseUserDO();
+                                        comMngPopulationHouseUserDO.setId(Snowflake.getId());
+                                        comMngPopulationHouseUserDO.setPopulId(comMngPopulationDO.getId());
+                                        comMngPopulationHouseUserDO.setHouseId(Long.parseLong(houseId));
+                                        comMngPopulationHouseUserDO.setRelation(1);
+                                        comMngPopulationHouseUserDO.setRelationId(1);
+                                        comMngPopulationHouseUserDO.setResidence(1);
+                                        comMngPopulationHouseUserDO.setCreateAt(new Date());
+                                        comMngPopulationHouseUserDAO.insert(comMngPopulationHouseUserDO);
+                                    }
+                                }
+                            }
                             //更新回答用户数量
                             Integer joinCount = comActReserveDO.getJoinCount();
                             comActReserveDO.setJoinCount(joinCount != null ? joinCount + 1 : 1);
@@ -601,7 +668,7 @@
      * @return  预约登记详情
      */
     @Override
-    public R detailReserveAdmin(Long reserveId){
+    public R<ComActReserveDetailAdminVO> detailReserveAdmin(Long reserveId) {
         ComActReserveDetailAdminVO reserveDetailAdminVO = new ComActReserveDetailAdminVO();
         //查询预约登记信息
         ComActReserveDO reserveDO = this.baseMapper.selectById(reserveId);
@@ -779,6 +846,28 @@
         return null;
     }
 
+    public ComMngPopulationDO savePopulation(String idCard){
+        ComMngPopulationDO comMngPopulationDO=new ComMngPopulationDO();
+        comMngPopulationDO.setDeath("1");
+        comMngPopulationDO.setCardNoStr(idCard);
+        comMngPopulationDO.setCardNo(idCard);
+        comMngPopulationDO.setSex(getSex(idCard));
+        comMngPopulationDO.setBirthday(getBirthday(idCard));
+        return comMngPopulationDO;
+    }
+    public Integer getSex(String idCard){
+        char c = idCard.charAt(idCard.length() - 2);
+        Integer gender = Integer.parseInt(String.valueOf(c));
+        if(gender % 2 == 1){
+            return 1;
+        }else{
+            return 2;
+        }
+    }
+    public String getBirthday(String idCard){
+        return idCard.substring(6).substring(0, 4)+"-"+idCard.substring(10).substring(0, 2)+"-"+idCard.substring(12).substring(0,2);
+    }
+
 
     public static void getFileByBytes(byte[] bytes, String filePath, String fileName) {
         BufferedOutputStream bos = null;

--
Gitblit v1.7.1