From c6512655e722d9ca80dd8c34b79f6d3923ecf86c Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期二, 22 六月 2021 16:07:50 +0800
Subject: [PATCH] Merge branch 'test' into 'test_screen'

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java |   92 ++++++++++++++++++++++++++++++---------------
 1 files changed, 61 insertions(+), 31 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 81a7f69..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
@@ -19,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.*;
@@ -85,6 +84,8 @@
     public ComMngPopulationDAO comMngPopulationDAO;
     @Resource
     public ComEldersAuthUserService comEldersAuthUserService;
+    @Resource
+    private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper;
 
     /**
      * 新增社区活动
@@ -1577,6 +1578,7 @@
     }
 
     @PostMapping("/eldersauth/addByFamilyUser")
+    @Transactional(rollbackFor = Exception.class)
     R addByFamilyUser(@RequestBody EldersAuthAddByFamilyDTO eldersAuthAddByFamilyDTO){
 
         ComEldersAuthUserDO authUserDO = comEldersAuthUserService.getById(eldersAuthAddByFamilyDTO.getFamilyUserId());
@@ -1584,35 +1586,63 @@
             return R.fail("未查询到老人信息");
         }
 
-        Integer age = IdcardUtil.getAgeByIdCard(authUserDO.getIdCard());
-        if(age>=80){
-            Long loginUserId = eldersAuthAddByFamilyDTO.getUserId();
-            EldersAuthDO eldersAuthDO = new EldersAuthDO();
-            eldersAuthDO.setSumitUserId(loginUserId);
-            eldersAuthDO.setCreateBy(loginUserId);
-            eldersAuthDO.setCreateAt(new Date());
-            eldersAuthDO.setIdCard(authUserDO.getIdCard());
-            eldersAuthDO.setAuthUserName(authUserDO.getName());
-            eldersAuthDO.setVideoUrl(eldersAuthAddByFamilyDTO.getVideoUrl());
-            eldersAuthDO.setFamilyUserId(authUserDO.getId());
-            eldersAuthDO.setAge(IdcardUtil.getAgeByIdCard(authUserDO.getIdCard()));
-            //根据身份证查询出籍贯 出生日期
-            //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");
+        Long elderId = authUserDO.getId();
+        boolean canReAuthThisMonth = comEldersAuthUserService.checkReAuthAgain(elderId);
+        if(!canReAuthThisMonth){
+            return R.fail("当月已认证,不能再次进行认证");
         }
+
+        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();
     }
 

--
Gitblit v1.7.1