From 84fae9aed66f2841b58b2ef66ff7c11cd0dbaacd Mon Sep 17 00:00:00 2001
From: manailin <261030956@qq.com>
Date: 星期五, 08 十月 2021 17:36:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java |  152 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 127 insertions(+), 25 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java
index 1b4be99..2cd1e9d0 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java
@@ -67,6 +67,16 @@
     private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper;
     @Resource
     private ComActDAO comActDAO;
+    @Resource
+    private ComElderAuthRecordsDAO comElderAuthRecordsDAO;
+    @Resource
+    private ComElderAuthElderliesDAO comElderAuthElderliesDAO;
+    @Resource
+    private ComPensionAuthHistoryRecordMapper comPensionAuthHistoryRecordMapper;
+    @Resource
+    private ComPensionAuthRecordDAO comPensionAuthRecordDAO;
+    @Resource
+    private ComPensionAuthPensionerDAO comPensionAuthPensionerDAO;
 
     @Value("${domain.aesKey:}")
     private String aesKey;
@@ -491,7 +501,7 @@
     public R setCommunityAuthType(Long communityId, Integer type) {
         List<SysConfDO> authConf =
             sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, communityId)
-                .eq(SysConfDO::getCode, "ELDER_AUTH_TYPE").orderByDesc(SysConfDO::getCreateAt));
+                .eq(SysConfDO::getCode, "ELDER_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt));
         if (authConf != null && authConf.size() > 0) {
             SysConfDO first = authConf.get(0);
             first.setValue(type + "");
@@ -561,40 +571,132 @@
     }
 
     /**
-     * 检测上月所有视频认证记录,取最后一条记录为认证成功记录
+     * 检测本月所有认证记录,认证成功记录更新到历史记录中
      * @return  执行结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R timedTaskEldersRecordAuthJobHandler(){
         Date nowDate = new Date();
-        //查询所有启用中社区
-        List<ComActDO> actList = comActDAO.selectList(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getState,0));
 
-        actList.forEach(act -> {
-            //查询社区上月所有视频认证
-            List<ComEldersAuthHistoryVO> authList = eldersAuthDAO.getEldersAuthRecords(act.getCommunityId());
-            authList.forEach(auth -> {
-                if(auth.getUserId() != null){
-                    ComEldersAuthHistoryRecordDO authHistoryRecordDO = new ComEldersAuthHistoryRecordDO();
-                    authHistoryRecordDO.setCommunityId(auth.getCommunityId());
-                    authHistoryRecordDO.setCreateAt(auth.getCreateAt());
-                    authHistoryRecordDO.setAuthId(auth.getId());
-                    authHistoryRecordDO.setUserId(auth.getUserId());
-                    authHistoryRecordDO.setBrithday(auth.getBirthday());
-                    authHistoryRecordDO.setDomicile(auth.getDomicile());
-                    authHistoryRecordDO.setIdCard(auth.getIdCard());
-                    authHistoryRecordDO.setName(auth.getName());
-                    authHistoryRecordDO.setIsAuth(1);
-                    try {
-                        Integer age = IdcardUtil.getAgeByIdCard(auth.getIdCard());
-                        authHistoryRecordDO.setAge(age);
-                    }catch (Exception e){
-                        log.error("年龄转换失败");
+        //高龄认证本期期数
+        String elderAuthPeriod = DateUtils.getCurrentDateString_YYYY_MM();
+        //养老认证本期期数
+        String pensionAuthPeriod = DateUtils.getCurrentDateString_YYYY();
+
+        //查询所有老人信息并加入到老人认证历史记录表中,如果不存在则新增,存在则不做操作
+        List<ComElderAuthElderliesDO> authElderliesList = comElderAuthElderliesDAO.selectList(null);
+        authElderliesList.forEach(authElderlies -> {
+            //查询高龄认证记录
+            ComEldersAuthHistoryRecordDO authHistoryRecordDO = comEldersAuthHistoryRecordMapper.selectOne(new QueryWrapper<ComEldersAuthHistoryRecordDO>().lambda()
+                    .eq(ComEldersAuthHistoryRecordDO::getElderliesId,authElderlies.getId())
+                    .eq(ComEldersAuthHistoryRecordDO::getAuthPeriod,elderAuthPeriod));
+            if(authHistoryRecordDO == null){
+                authHistoryRecordDO = new ComEldersAuthHistoryRecordDO();
+                BeanUtils.copyProperties(authElderlies,authHistoryRecordDO);
+                authHistoryRecordDO.setIsAuth(ComEldersAuthHistoryRecordDO.isAuth.no);
+                authHistoryRecordDO.setElderliesId(authElderlies.getId());
+                authHistoryRecordDO.setAuthPeriod(elderAuthPeriod);
+                authHistoryRecordDO.setCreateAt(nowDate);
+                comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO);
+            }
+        });
+
+        //查询所有养老人员信息并加入到老人认证历史记录表中,如果不存在则新增,存在则不做操作
+        List<ComPensionAuthPensionerDO> pensionAuthPensionerList = comPensionAuthPensionerDAO.selectList(null);
+        pensionAuthPensionerList.forEach(authPension -> {
+            //查询养老认证记录
+            ComPensionAuthHistoryRecordDO pensionAuthDO = comPensionAuthHistoryRecordMapper.selectOne(new QueryWrapper<ComPensionAuthHistoryRecordDO>().lambda()
+                    .eq(ComPensionAuthHistoryRecordDO::getElderliesId,authPension.getId())
+                    .eq(ComPensionAuthHistoryRecordDO::getAuthPeriod,pensionAuthPeriod));
+            if(pensionAuthDO == null){
+                pensionAuthDO = new ComPensionAuthHistoryRecordDO();
+                BeanUtils.copyProperties(authPension,pensionAuthDO);
+                pensionAuthDO.setIsAuth(ComPensionAuthHistoryRecordDO.isAuth.no);
+                pensionAuthDO.setElderliesId(authPension.getId());
+                pensionAuthDO.setAuthPeriod(pensionAuthPeriod);
+                pensionAuthDO.setCreateAt(nowDate);
+                comPensionAuthHistoryRecordMapper.insert(pensionAuthDO);
+            }
+        });
+
+        //查询高龄认证记录列表
+        List<ComElderAuthRecordsDO> authRecordsList = comElderAuthRecordsDAO.selectList(null);
+        //遍历高龄认证记录列表
+        authRecordsList.forEach(authRecords -> {
+            if(authRecords.getApprovalStatus().equals(ComElderAuthRecordsDO.approvalStatus.tg)){
+                ComEldersAuthHistoryRecordDO authHistoryRecordDO = comEldersAuthHistoryRecordMapper.selectOne(new QueryWrapper<ComEldersAuthHistoryRecordDO>().lambda()
+                        .eq(ComEldersAuthHistoryRecordDO::getElderliesId,authRecords.getElderliesId())
+                        .eq(ComEldersAuthHistoryRecordDO::getAuthPeriod,authRecords.getAuthPeriod()));
+                if(authHistoryRecordDO != null){//存在记录
+                    if(authHistoryRecordDO.getIsAuth().equals(ComEldersAuthHistoryRecordDO.isAuth.no)){
+                        authHistoryRecordDO.setIsAuth(ComEldersAuthHistoryRecordDO.isAuth.yes);
+                        authHistoryRecordDO.setAuthDate(authRecords.getApprovalDate());
+                        authHistoryRecordDO.setApprovalDate(authRecords.getApprovalDate());
+                        authHistoryRecordDO.setApproverId(authRecords.getApproverId());
+                        authHistoryRecordDO.setSubmitUserId(authRecords.getSubmitUserId());
+                        authHistoryRecordDO.setAuthMethod(authRecords.getAuthMethod());
+                        authHistoryRecordDO.setVerificationResult(authRecords.getVerificationResult());
+                        authHistoryRecordDO.setAuthId(authRecords.getId());
+
+                        //查询老人信息
+                        ComElderAuthElderliesDO authElderliesDO = comElderAuthElderliesDAO.selectById(authRecords.getElderliesId());
+                        if(authElderliesDO != null){
+                            BeanUtils.copyProperties(authElderliesDO,authHistoryRecordDO);
+                        }
+                        comEldersAuthHistoryRecordMapper.updateById(authHistoryRecordDO);
                     }
+                }else{
+                    authHistoryRecordDO = new ComEldersAuthHistoryRecordDO();
+                    BeanUtils.copyProperties(authRecords,authHistoryRecordDO);
+                    //查询老人信息
+                    ComElderAuthElderliesDO authElderliesDO = comElderAuthElderliesDAO.selectById(authRecords.getElderliesId());
+                    if(authElderliesDO != null){
+                        BeanUtils.copyProperties(authElderliesDO,authHistoryRecordDO);
+                    }
+                    authHistoryRecordDO.setIsAuth(ComEldersAuthHistoryRecordDO.isAuth.yes);
+                    authHistoryRecordDO.setAuthId(authRecords.getId());
                     comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO);
                 }
-            });
+            }
+        });
+
+        //查询养老认证记录列表
+        List<ComPensionAuthRecordDO> pensionAuthList = comPensionAuthRecordDAO.selectList(null);
+        //遍历养老认证记录列表
+        pensionAuthList.forEach(authRecords -> {
+            ComPensionAuthHistoryRecordDO pensionAuthDO = comPensionAuthHistoryRecordMapper.selectOne(new QueryWrapper<ComPensionAuthHistoryRecordDO>().lambda()
+                    .eq(ComPensionAuthHistoryRecordDO::getElderliesId,authRecords.getPensionerId())
+                    .eq(ComPensionAuthHistoryRecordDO::getAuthPeriod,authRecords.getAuthPeriod()));
+            if(pensionAuthDO != null){//存在记录
+                if(pensionAuthDO.getIsAuth().equals(ComPensionAuthHistoryRecordDO.isAuth.no)){
+                    pensionAuthDO.setIsAuth(ComPensionAuthHistoryRecordDO.isAuth.yes);
+                    pensionAuthDO.setAuthDate(authRecords.getApprovalDate());
+                    pensionAuthDO.setApprovalDate(authRecords.getApprovalDate());
+                    pensionAuthDO.setApproverId(authRecords.getApproverId());
+                    pensionAuthDO.setSubmitUserId(authRecords.getSubmitUserId());
+                    pensionAuthDO.setAuthMethod(authRecords.getAuthMethod());
+                    pensionAuthDO.setVerificationResult(authRecords.getVerificationResult());
+                    pensionAuthDO.setAuthId(authRecords.getId());
+                    //查询老人信息
+                    ComPensionAuthPensionerDO authPensionerDO = comPensionAuthPensionerDAO.selectById(authRecords.getPensionerId());
+                    if(authPensionerDO != null){
+                        BeanUtils.copyProperties(authPensionerDO,pensionAuthDO);
+                    }
+                    comPensionAuthHistoryRecordMapper.updateById(pensionAuthDO);
+                }
+            }else{
+                pensionAuthDO = new ComPensionAuthHistoryRecordDO();
+                BeanUtils.copyProperties(authRecords,pensionAuthDO);
+                //查询老人信息
+                ComPensionAuthPensionerDO authPensionerDO = comPensionAuthPensionerDAO.selectById(authRecords.getPensionerId());
+                if(authPensionerDO != null){
+                    BeanUtils.copyProperties(authPensionerDO,pensionAuthDO);
+                }
+                pensionAuthDO.setIsAuth(ComPensionAuthHistoryRecordDO.isAuth.yes);
+                pensionAuthDO.setAuthId(authRecords.getId());
+                comPensionAuthHistoryRecordMapper.insert(pensionAuthDO);
+            }
         });
         return R.ok();
     }

--
Gitblit v1.7.1