From 1d21a9673d47a186bd189d9cceaa6e2ea17d293d Mon Sep 17 00:00:00 2001
From: CeDo <cedoogle@gmail.com>
Date: 星期二, 15 六月 2021 14:55:44 +0800
Subject: [PATCH] Merge branch 'test'

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java |  114 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 76 insertions(+), 38 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
index 112cc5f..b668a7b 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -1,5 +1,6 @@
 package com.panzhihua.service_community.api;
 
+import cn.hutool.core.util.IdcardUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -18,9 +19,8 @@
 import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
 import com.panzhihua.common.model.vos.user.UserPhoneVO;
 import com.panzhihua.common.service.user.UserService;
-import com.panzhihua.common.utlis.ClazzUtils;
-import com.panzhihua.common.utlis.IdCard;
-import com.panzhihua.common.utlis.IdCardUtil;
+import com.panzhihua.common.utlis.*;
+import com.panzhihua.service_community.dao.ComEldersAuthHistoryRecordMapper;
 import com.panzhihua.service_community.dao.ComMngPopulationDAO;
 import com.panzhihua.service_community.model.dos.*;
 import com.panzhihua.service_community.service.*;
@@ -82,6 +82,10 @@
     private EldersAuthService eldersAuthService;
     @Resource
     public ComMngPopulationDAO comMngPopulationDAO;
+    @Resource
+    public ComEldersAuthUserService comEldersAuthUserService;
+    @Resource
+    private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper;
 
     /**
      * 新增社区活动
@@ -1574,48 +1578,71 @@
     }
 
     @PostMapping("/eldersauth/addByFamilyUser")
+    @Transactional(rollbackFor = Exception.class)
     R addByFamilyUser(@RequestBody EldersAuthAddByFamilyDTO eldersAuthAddByFamilyDTO){
 
-        List<ComMngFamilyInfoVO> list = comMngPopulationDAO.listFamilyByUserId(eldersAuthAddByFamilyDTO.getUserId());
-        ComMngFamilyInfoVO theFamily = null;
-        Long familyUserId = eldersAuthAddByFamilyDTO.getFamilyUserId();
-        for (ComMngFamilyInfoVO family : list) {
-            if (familyUserId == family.getId()) {
-                theFamily = family;
-            }
+        ComEldersAuthUserDO authUserDO = comEldersAuthUserService.getById(eldersAuthAddByFamilyDTO.getFamilyUserId());
+        if(authUserDO == null){
+            return R.fail("未查询到老人信息");
         }
 
-        if(theFamily==null){
-            return R.fail("家庭成员信息错误");
+        Long elderId = authUserDO.getId();
+        boolean canReAuthThisMonth = comEldersAuthUserService.checkReAuthAgain(elderId);
+        if(!canReAuthThisMonth){
+            return R.fail("当月已认证,不能再次进行认证");
         }
-        Integer age = IdCard.IdNOToAge(theFamily.getIdCard());
-        if(age>=80){
-            Long loginUserId = eldersAuthAddByFamilyDTO.getUserId();
-            EldersAuthDO eldersAuthDO = new EldersAuthDO();
-            eldersAuthDO.setSumitUserId(eldersAuthAddByFamilyDTO.getSumitUserId());
-            eldersAuthDO.setCreateBy(loginUserId);
-            eldersAuthDO.setCreateAt(new Date());
-            eldersAuthDO.setIdCard(theFamily.getIdCard());
-            eldersAuthDO.setAuthUserName(theFamily.getName());
-            eldersAuthDO.setVideoUrl(eldersAuthAddByFamilyDTO.getVideoUrl());
-            eldersAuthDO.setFamilyUserId(eldersAuthAddByFamilyDTO.getFamilyUserId());
-            //根据身份证查询出籍贯 出生日期
-            //String domicile = IdCard.domicile(eldersAuthDO.getIdCard());
-            String domicile = eldersAuthService.queryDomicile(eldersAuthDO.getIdCard());
-            if(StringUtils.isEmpty(domicile)){
-                domicile = "暂无";
-            }
 
-            Date birthDay = IdCard.birthDay(eldersAuthDO.getIdCard());
-            eldersAuthDO.setDomicile(domicile);
-            eldersAuthDO.setBirthDay(birthDay);
-            int add = eldersAuthService.getBaseMapper().insert(eldersAuthDO);
-            if(add==1){
-                return R.ok(eldersAuthDO.getId());
-            }
-        }else{
-            return R.fail("家庭成员年龄还未达到80");
+        String idCard = authUserDO.getIdCard();
+
+        Long loginUserId = eldersAuthAddByFamilyDTO.getUserId();
+        EldersAuthDO eldersAuthDO = new EldersAuthDO();
+        eldersAuthDO.setSumitUserId(loginUserId);
+        eldersAuthDO.setCreateBy(loginUserId);
+        eldersAuthDO.setCreateAt(new Date());
+        eldersAuthDO.setIdCard(idCard);
+        eldersAuthDO.setAuthUserName(authUserDO.getName());
+        eldersAuthDO.setVideoUrl(eldersAuthAddByFamilyDTO.getVideoUrl());
+        eldersAuthDO.setFamilyUserId(authUserDO.getId());
+        eldersAuthDO.setAge(IdcardUtil.getAgeByIdCard(idCard));
+        //根据身份证查询出籍贯 出生日期
+        //String domicile = IdCard.domicile(eldersAuthDO.getIdCard());
+        String domicile = eldersAuthService.queryDomicile(eldersAuthDO.getIdCard());
+        if(StringUtils.isEmpty(domicile)){
+            domicile = "暂无";
         }
+
+        Date birthDay = IdCard.birthDay(idCard);
+        eldersAuthDO.setDomicile(domicile);
+        eldersAuthDO.setBirthDay(birthDay);
+        int add = eldersAuthService.getBaseMapper().insert(eldersAuthDO);
+        if(add==1){
+            //设置认证成功
+            Long familyUserId = eldersAuthDO.getFamilyUserId();
+            ComEldersAuthUserDO comEldersAuthUserDO = new ComEldersAuthUserDO();
+            comEldersAuthUserDO.setId(familyUserId);
+            comEldersAuthUserDO.setIsAuth(1);
+            boolean updated = comEldersAuthUserService.updateById(comEldersAuthUserDO);
+            if(!updated){
+                throw  new ServiceException("添加认证失败,更新认证状态");
+            }
+            //认证成功  添加认证记录
+            List<ComEldersAuthHistoryRecordDO> authHistoryRecordDOList = comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>()
+                    .lambda().eq(ComEldersAuthHistoryRecordDO::getIdCard,idCard).ge(ComEldersAuthHistoryRecordDO::getCreateAt, DateUtils.getFirstDayOfMonth()));
+            if(authHistoryRecordDOList.isEmpty()){
+                ComEldersAuthHistoryRecordDO authHistoryRecordDO = new ComEldersAuthHistoryRecordDO();
+                authHistoryRecordDO.setUserId(eldersAuthAddByFamilyDTO.getFamilyUserId());
+                authHistoryRecordDO.setAuthId(eldersAuthDO.getId());
+                BeanUtils.copyProperties(eldersAuthDO,authHistoryRecordDO);
+                authHistoryRecordDO.setId(null);
+                authHistoryRecordDO.setBrithday(AgeUtils.getAgeFormatBirthday(IdcardUtil.getBirthByIdCard(idCard)));
+                authHistoryRecordDO.setAge(IdcardUtil.getAgeByIdCard(idCard));
+                authHistoryRecordDO.setIsAuth(1);
+                authHistoryRecordDO.setDomicile(domicile);
+                comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO);
+            }
+            return R.ok(eldersAuthDO.getId());
+        }
+
         return R.fail();
     }
 
@@ -1663,4 +1690,15 @@
     R eldersAuthQuery(@RequestBody PageEldersAuthDTO pageEldersAuthDTO){
         return eldersAuthService.queryExportData(pageEldersAuthDTO);
     }
+
+    /**
+     * 设置社区认证方式
+     * @param communityId 社区ID
+     * @param type 核验类型(1.视频认证 2.人脸核验)
+     * @return
+     */
+    @PostMapping("/elders/setCommunityAuthType")
+    R setCommunityAuthType(@RequestParam("communityId")Long communityId,@RequestParam("type") Integer type){
+        return eldersAuthService.setCommunityAuthType(communityId, type);
+    }
 }

--
Gitblit v1.7.1