From 5a8a90c095280fbd2106869ecd2bad10e01a57a6 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期四, 23 十二月 2021 18:10:22 +0800
Subject: [PATCH] 12/23  大屏修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java |  479 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 352 insertions(+), 127 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 2ef4466..2fb3c82 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
@@ -1,6 +1,22 @@
 package com.panzhihua.service_community.service.impl;
 
-import cn.hutool.core.util.IdcardUtil;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import com.panzhihua.common.model.dtos.community.elder.ElderAuthStatisticHeaderDTO;
+import com.panzhihua.common.model.dtos.community.elder.PageElderAuthStatisticDTO;
+import com.panzhihua.common.model.dtos.community.elder.SignElderAuthStatisticDTO;
+import com.panzhihua.common.model.vos.elders.ComEldersAuthHistoryVO;
+import com.panzhihua.common.model.vos.elders.ComEldersAuthStatisticVO;
+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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -14,35 +30,18 @@
 import com.panzhihua.common.model.helper.AESUtil;
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.community.*;
-import com.panzhihua.common.model.vos.community.EldersAuthDetailsVO;
-import com.panzhihua.common.model.vos.community.EldersAuthFeedbackVO;
-import com.panzhihua.common.model.vos.community.EldersAuthVO;
 import com.panzhihua.common.model.vos.elders.ComElderAuthUserAppVO;
 import com.panzhihua.common.model.vos.partybuilding.ComEldersAuthHistoryExcelVO;
 import com.panzhihua.common.model.vos.user.SysUserVO;
 import com.panzhihua.common.utlis.AgeUtils;
 import com.panzhihua.common.utlis.DateUtils;
-import com.panzhihua.common.utlis.IdCard;
 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.EldersAuthService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-import org.springframework.beans.BeanUtils;
-import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.Resource;
-import javax.crypto.BadPaddingException;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
-import java.io.UnsupportedEncodingException;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import cn.hutool.core.util.IdcardUtil;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * @auther lyq
@@ -67,21 +66,34 @@
     private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper;
     @Resource
     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;
 
     /**
      * 新增高龄认证
+     * 
      * @param eldersAuthAddDTO
      * @return 新增结果
      */
-    public R add(EldersAuthAddDTO eldersAuthAddDTO){
+    public R add(EldersAuthAddDTO eldersAuthAddDTO) {
         EldersAuthDO eldersAuthDO = new EldersAuthDO();
         BeanUtils.copyProperties(eldersAuthAddDTO, eldersAuthDO);
         eldersAuthDO.setCreateAt(new Date());
         eldersAuthDO.setCreateBy(eldersAuthAddDTO.getSumitUserId());
-        if(eldersAuthDAO.insert(eldersAuthDO)>0){
+        if (eldersAuthDAO.insert(eldersAuthDO) > 0) {
             return R.ok();
         }
         return R.fail();
@@ -89,15 +101,16 @@
 
     /**
      * 修改高龄认证
+     * 
      * @param eldersAuthEditDTO
      * @return 维护结果
      */
-    public R edit(EldersAuthEditDTO eldersAuthEditDTO){
+    public R edit(EldersAuthEditDTO eldersAuthEditDTO) {
         EldersAuthDO eldersAuthDO = new EldersAuthDO();
         BeanUtils.copyProperties(eldersAuthEditDTO, eldersAuthDO);
         eldersAuthDO.setUpdateAt(new Date());
         eldersAuthDO.setUpdateBy(eldersAuthEditDTO.getSumitUserId());
-        if(eldersAuthDAO.updateById(eldersAuthDO)>0){
+        if (eldersAuthDAO.updateById(eldersAuthDO) > 0) {
             return R.ok();
         }
         return R.fail();
@@ -105,10 +118,11 @@
 
     /**
      * 分页查找高龄认证
+     * 
      * @param pageEldersAuthDTO
      * @return 维护结果
      */
-    public R<IPage<EldersAuthVO>> query(PageEldersAuthDTO pageEldersAuthDTO){
+    public R<IPage<EldersAuthVO>> query(PageEldersAuthDTO pageEldersAuthDTO) {
         Page page = new Page<>();
         page.setSize(pageEldersAuthDTO.getPageSize());
         page.setCurrent(pageEldersAuthDTO.getPageNum());
@@ -117,27 +131,30 @@
 
     /**
      * 删除高龄认证
+     * 
      * @param EldersAuthDeleteDTO
      * @return 平台用户信息
      */
-    public R delete(EldersAuthDeleteDTO EldersAuthDeleteDTO){
+    public R delete(EldersAuthDeleteDTO EldersAuthDeleteDTO) {
         return R.fail();
     }
 
     /**
      * 查询高龄认证详细信息
-     * @param id 高龄认证 id
+     * 
+     * @param id
+     *            高龄认证 id
      * @return 查找结果
      */
-    public R<EldersAuthDetailsVO> eldersAuthDetails(Long id){
+    public R<EldersAuthDetailsVO> eldersAuthDetails(Long id) {
         EldersAuthDetailsVO eldersAuthDetailsVO = eldersAuthDAO.selectDetails(id);
-        if(eldersAuthDetailsVO!=null) {
-            //社区反馈
+        if (eldersAuthDetailsVO != null) {
+            // 社区反馈
             List<EldersAuthFeedbackDO> list =
-                    eldersAuthFeedbackDAO.selectList(new LambdaQueryWrapper<EldersAuthFeedbackDO>()
-                            .eq(EldersAuthFeedbackDO::getAuthId, eldersAuthDetailsVO.getId()));
+                eldersAuthFeedbackDAO.selectList(new LambdaQueryWrapper<EldersAuthFeedbackDO>()
+                    .eq(EldersAuthFeedbackDO::getAuthId, eldersAuthDetailsVO.getId()));
             List<EldersAuthFeedbackVO> listVO = new ArrayList<>();
-            list.forEach(feedDo ->{
+            list.forEach(feedDo -> {
                 EldersAuthFeedbackVO eldersAuthFeedbackVO = new EldersAuthFeedbackVO();
                 BeanUtils.copyProperties(feedDo, eldersAuthFeedbackVO);
                 listVO.add(eldersAuthFeedbackVO);
@@ -147,46 +164,58 @@
         }
         return R.fail();
     }
+
     /**
      * 新增高龄认证社区反馈
+     * 
      * @param eldersAuthFeedbackAddDTO
      * @return 新增结果
      */
     @Transactional(rollbackFor = Exception.class)
-    public R addFeedback(EldersAuthFeedbackAddDTO eldersAuthFeedbackAddDTO){
+    public R addFeedback(EldersAuthFeedbackAddDTO eldersAuthFeedbackAddDTO) {
         EldersAuthDO eldersAuthDO = eldersAuthDAO.selectById(eldersAuthFeedbackAddDTO.getAuthId());
-        if(eldersAuthDO==null){
+        if (eldersAuthDO == null) {
             return R.fail("认证记录不存在");
         }
-        if(eldersAuthDO.getType()==null){
+        if (eldersAuthDO.getType() == null) {
             return R.fail("认证方式未知");
         }
-        if(eldersAuthDO.getType().intValue()!=1){
+        if (eldersAuthDO.getType().intValue() != 1) {
             return R.fail("当前认证方式不能进行反馈");
         }
         EldersAuthFeedbackDO eldersAuthFeedbackDO = new EldersAuthFeedbackDO();
         eldersAuthFeedbackDO.setCreateBy(eldersAuthFeedbackAddDTO.getUserId());
         eldersAuthFeedbackDO.setCreateAt(new Date());
         BeanUtils.copyProperties(eldersAuthFeedbackAddDTO, eldersAuthFeedbackDO);
-        if(eldersAuthFeedbackDAO.insert(eldersAuthFeedbackDO)>0){
+        if (eldersAuthFeedbackDAO.insert(eldersAuthFeedbackDO) > 0) {
             eldersAuthDO.setStatus("1");
             eldersAuthDO.setIdCard(null);
             int updated = eldersAuthDAO.updateById(eldersAuthDO);
-            if(updated!=1){
+            if (updated != 1) {
                 throw new ServiceException("更新认证记录状态失败");
             }
+            Long familyUserId = eldersAuthDO.getFamilyUserId();
+            ComEldersAuthUserDO comEldersAuthUserDO = comEldersAuthUserMapper.selectById(familyUserId);
+            /**
+             * ComEldersAuthUserDO comEldersAuthUserDOToUpdate = new ComEldersAuthUserDO();
+             * 
+             * comEldersAuthUserDOToUpdate.setId(comEldersAuthUserDO.getId());
+             * comEldersAuthUserDOToUpdate.setIsAuth(2);//是否已认证(1.是 2.否) int updatedEAU =
+             * comEldersAuthUserMapper.updateById(comEldersAuthUserDOToUpdate); if(updatedEAU!=1){ throw new
+             * ServiceException("更新认证记录状态失败"); }
+             */
             return R.ok();
         }
         return R.fail();
     }
 
-
     /**
      * 查找高龄认证导出数据
+     * 
      * @param pageEldersAuthDTO
      * @return 维护结果
      */
-    public R<List<ExcelElderAuthDTO>> queryExportData(PageEldersAuthDTO pageEldersAuthDTO){
+    public R<List<ExcelElderAuthDTO>> queryExportData(PageEldersAuthDTO pageEldersAuthDTO) {
         Page page = new Page<>();
         page.setSize(pageEldersAuthDTO.getPageSize());
         page.setCurrent(10000);
@@ -203,14 +232,15 @@
         Page page = new Page<>();
         page.setSize(pageComEldersRecordsDTO.getPageSize());
         page.setCurrent(pageComEldersRecordsDTO.getPageNum());
-        List<ComEldersAuthRecordVO> eldersAuthDOList = eldersAuthDAO.selectEldersRecordByPage(page, pageComEldersRecordsDTO);
+        List<ComEldersAuthRecordVO> eldersAuthDOList =
+            eldersAuthDAO.selectEldersRecordByPage(page, pageComEldersRecordsDTO);
         return R.ok(eldersAuthDOList);
     }
 
     @Override
     public R<ComEldersAuthElderlyDetailsVO> comEldersAuthElderlyDetails(Long id) {
         EldersAuthDO eldersAuthDO = eldersAuthDAO.selectById(id);
-        if(eldersAuthDO == null){
+        if (eldersAuthDO == null) {
             return R.fail("未查询到认证记录");
         }
         ComEldersAuthElderlyDetailsVO comEldersAuthElderlyDetailsVO = new ComEldersAuthElderlyDetailsVO();
@@ -219,9 +249,10 @@
         String communityName = eldersAuthDAO.selectCommunityNameByAuth(id);
         comEldersAuthElderlyDetailsVO.setCommunityName(communityName);
 
-        List<EldersAuthFeedbackDO> eldersAuthFeedbackDOList = eldersAuthFeedbackDAO.selectList(new LambdaQueryWrapper<EldersAuthFeedbackDO>().eq(EldersAuthFeedbackDO::getAuthId, id));
+        List<EldersAuthFeedbackDO> eldersAuthFeedbackDOList = eldersAuthFeedbackDAO
+            .selectList(new LambdaQueryWrapper<EldersAuthFeedbackDO>().eq(EldersAuthFeedbackDO::getAuthId, id));
         List<EldersAuthFeedbackVO> eldersAuthFeedbackVOList = new ArrayList<>();
-        eldersAuthFeedbackDOList.forEach(edo ->{
+        eldersAuthFeedbackDOList.forEach(edo -> {
             EldersAuthFeedbackVO eldersAuthFeedbackVO = new EldersAuthFeedbackVO();
             BeanUtils.copyProperties(edo, eldersAuthFeedbackVO);
             eldersAuthFeedbackVOList.add(eldersAuthFeedbackVO);
@@ -233,27 +264,26 @@
     @Override
     public R communityAuthType(EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO) {
         Long communityId = eldersAuthTypeQueryDTO.getCommunityId();
-        List<SysConfDO> confDOList =
-                sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, communityId)
-                .orderByDesc(SysConfDO::getCreateAt));
-        if(confDOList==null || confDOList.size()==0){
+        List<SysConfDO> confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>()
+            .eq(SysConfDO::getCommunityId, communityId).eq(SysConfDO::getCode,"ELDER_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt));
+        if (confDOList == null || confDOList.size() == 0) {
             SysConfDO sysConfDO = new SysConfDO();
-            sysConfDO.setCode("ELDER_AUTH_TYPE");
+            sysConfDO.setCode("ELDER_AUTH_TYPE_" + communityId);
             sysConfDO.setName("高龄认证类型");
-            sysConfDO.setValue(2+"");//核验类型(1.视频认证 2.人脸核验)
+            sysConfDO.setValue(2 + "");// 核验类型(1.视频认证 2.人脸核验)
             sysConfDO.setDescription("高龄认证默认添加的核验类型");
             sysConfDO.setCommunityId(communityId);
             sysConfDO.setCreateBy(eldersAuthTypeQueryDTO.getUserId());
             int inserted = sysConfDao.insert(sysConfDO);
-            if(inserted!=1){
+            if (inserted != 1) {
                 throw new ServiceException("添加高龄认证默认添加的核验类型失败");
             }
-            confDOList =
-                    sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, eldersAuthTypeQueryDTO.getOperUserId())
-                            .orderByDesc(SysConfDO::getCreateAt));
+            confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>()
+                .eq(SysConfDO::getCommunityId, eldersAuthTypeQueryDTO.getOperUserId())
+                .orderByDesc(SysConfDO::getCreateAt));
         }
-        if(confDOList!=null && confDOList.size()>0){
-            SysConfDO  latest = confDOList.get(0);
+        if (confDOList != null && confDOList.size() > 0) {
+            SysConfDO latest = confDOList.get(0);
             SysConfVO sysConfVO = new SysConfVO();
             BeanUtils.copyProperties(latest, sysConfVO);
             return R.ok(sysConfVO.getValue());
@@ -263,14 +293,16 @@
 
     /**
      * 人脸核验新增高龄认证记录
-     * @param authGetResultDTO  请求参数
-     * @return  新增结果
+     * 
+     * @param authGetResultDTO
+     *            请求参数
+     * @return 新增结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R addAuthByEldersApp(ComEldersAuthGetResultDTO authGetResultDTO) throws Exception{
+    public R addAuthByEldersApp(ComEldersAuthGetResultDTO authGetResultDTO) throws Exception {
         ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectById(authGetResultDTO.getAuthUserId());
-        if(authUserDO != null){
+        if (authUserDO != null) {
             String idCard = authUserDO.getIdCard();
             EldersAuthDO eldersAuthDO = new EldersAuthDO();
             eldersAuthDO.setIdCard(idCard);
@@ -279,7 +311,7 @@
             eldersAuthDO.setCreateAt(new Date());
             eldersAuthDO.setSumitUserId(authGetResultDTO.getUserId());
             String domicile = this.baseMapper.selectDomicile(idCard);
-            if(org.springframework.util.StringUtils.isEmpty(domicile)){
+            if (org.springframework.util.StringUtils.isEmpty(domicile)) {
                 domicile = "暂无";
             }
             eldersAuthDO.setDomicile(domicile);
@@ -293,14 +325,16 @@
 
             this.baseMapper.insert(eldersAuthDO);
 
-            //认证成功  添加认证记录
-            List<ComEldersAuthHistoryRecordDO> authHistoryRecordDOList = comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>()
-                    .lambda().eq(ComEldersAuthHistoryRecordDO::getIdCard,eldersAuthDO.getIdCard()).ge(ComEldersAuthHistoryRecordDO::getCreateAt, DateUtils.getFirstDayOfMonth()));
-            if(authHistoryRecordDOList.isEmpty()){
+            // 认证成功 添加认证记录
+            List<ComEldersAuthHistoryRecordDO> authHistoryRecordDOList =
+                comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>().lambda()
+                    .eq(ComEldersAuthHistoryRecordDO::getIdCard, eldersAuthDO.getIdCard())
+                    .ge(ComEldersAuthHistoryRecordDO::getCreateAt, DateUtils.getFirstDayOfMonth()));
+            if (authHistoryRecordDOList.isEmpty()) {
                 ComEldersAuthHistoryRecordDO authHistoryRecordDO = new ComEldersAuthHistoryRecordDO();
                 authHistoryRecordDO.setUserId(authGetResultDTO.getAuthUserId());
                 authHistoryRecordDO.setAuthId(eldersAuthDO.getId());
-                BeanUtils.copyProperties(eldersAuthDO,authHistoryRecordDO);
+                BeanUtils.copyProperties(eldersAuthDO, authHistoryRecordDO);
                 authHistoryRecordDO.setId(null);
                 authHistoryRecordDO.setBrithday(AgeUtils.getAgeFormatBirthday(IdcardUtil.getBirthByIdCard(idCard)));
                 authHistoryRecordDO.setAge(age);
@@ -321,24 +355,28 @@
 
     /**
      * 高龄认证分页接口
-     * @param authPageDTO   请求参数
-     * @return  查询结果
+     * 
+     * @param authPageDTO
+     *            请求参数
+     * @return 查询结果
      */
     @Override
-    public R pageEldersByApp(ComEldersAuthPageDTO authPageDTO) throws Exception{
-        //判断当前用户是否是高龄老人,如果是则将这个人新增到高龄老人的列表里
+    public R pageEldersByApp(ComEldersAuthPageDTO authPageDTO) throws Exception {
+        // 判断当前用户是否是高龄老人,如果是则将这个人新增到高龄老人的列表里
         SysUserVO userVO = this.eldersAuthDAO.getSysUserByUserId(authPageDTO.getUserId());
-        if(userVO != null){
+        if (userVO != null) {
             String idCard = userVO.getIdCard();
             userVO.setIdCard(AESUtil.encrypt128(userVO.getIdCard(), aesKey));
-            //查询当前用户是否已存在用户关联中
-            ComEldersAuthUserDO oldAuthUserDO = comEldersAuthUserMapper.selectOne(new QueryWrapper<ComEldersAuthUserDO>().lambda()
+            // 查询当前用户是否已存在用户关联中
+            ComEldersAuthUserDO oldAuthUserDO =
+                comEldersAuthUserMapper.selectOne(new QueryWrapper<ComEldersAuthUserDO>().lambda()
                     .eq(ComEldersAuthUserDO::getIdCard, userVO.getIdCard()));
-            if(oldAuthUserDO == null){
-                //查询老人库是否存在当前用户信息
-                ComEldersAuthElderlyDO authElderlyDO = comEldersAuthElderlyMapper.selectOne(new QueryWrapper<ComEldersAuthElderlyDO>().lambda()
-                        .eq(ComEldersAuthElderlyDO::getIdCard,userVO.getIdCard()));
-                if(authElderlyDO != null){
+            if (oldAuthUserDO == null) {
+                // 查询老人库是否存在当前用户信息
+                ComEldersAuthElderlyDO authElderlyDO =
+                    comEldersAuthElderlyMapper.selectOne(new QueryWrapper<ComEldersAuthElderlyDO>().lambda()
+                        .eq(ComEldersAuthElderlyDO::getIdCard, userVO.getIdCard()));
+                if (authElderlyDO != null) {
                     ComEldersAuthUserDO authUserDO = new ComEldersAuthUserDO();
                     authUserDO.setUserId(userVO.getUserId());
                     authUserDO.setRelation(ComEldersAuthUserDO.relation.br);
@@ -351,19 +389,21 @@
             }
         }
 
-        IPage<ComElderAuthUserAppVO> authUserAppVOIPage = comEldersAuthUserMapper.findByPage(new Page(authPageDTO.getPageNum(),authPageDTO.getPageSize()),authPageDTO.getUserId());
-        if(!authUserAppVOIPage.getRecords().isEmpty()){
+        IPage<ComElderAuthUserAppVO> authUserAppVOIPage = comEldersAuthUserMapper
+            .findByPage(new Page(authPageDTO.getPageNum(), authPageDTO.getPageSize()), authPageDTO.getUserId());
+        if (!authUserAppVOIPage.getRecords().isEmpty()) {
             authUserAppVOIPage.getRecords().forEach(authUser -> {
 
-                if(authUser.getIsAuth().equals(ComEldersAuthUserDO.isAuth.yes)){
+                if (authUser.getIsAuth().equals(ComEldersAuthUserDO.isAuth.yes)) {
                     List<EldersAuthDO> authDOS = eldersAuthDAO.selectList(new QueryWrapper<EldersAuthDO>().lambda()
-                            .eq(EldersAuthDO::getSumitUserId,authPageDTO.getUserId()).orderByDesc(EldersAuthDO::getCreateAt));
-                    if(!authDOS.isEmpty()){
+                        .eq(EldersAuthDO::getFamilyUserId, authUser.getElderId())
+                        .orderByDesc(EldersAuthDO::getCreateAt));
+                    if (!authDOS.isEmpty()) {
                         EldersAuthDO authDO = authDOS.get(0);
-                        if(authDO.getType().equals(1)){//视频认证
-                            Integer count = eldersAuthFeedbackDAO.selectCount(new QueryWrapper<EldersAuthFeedbackDO>().lambda()
-                                    .eq(EldersAuthFeedbackDO::getAuthId,authDO.getId()));
-                            if(count > 0){
+                        if (authDO.getType().equals(1)) {// 视频认证
+                            Integer count = eldersAuthFeedbackDAO.selectCount(new QueryWrapper<EldersAuthFeedbackDO>()
+                                .lambda().eq(EldersAuthFeedbackDO::getAuthId, authDO.getId()));
+                            if (count > 0) {
                                 authUser.setIsFeedback(1);
                             }
                         }
@@ -371,10 +411,10 @@
                 }
 
                 ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectById(authUser.getElderId());
-                if(authUserDO != null){
+                if (authUserDO != null) {
                     try {
                         authUser.setAge(IdcardUtil.getAgeByIdCard(authUserDO.getIdCard()));
-                    }catch (NullPointerException e){
+                    } catch (NullPointerException e) {
                         log.error("获取用户年龄出错了:" + authUser.getIdCard());
                     }
                 }
@@ -385,35 +425,37 @@
 
     /**
      * 添加高龄老人接口
-     * @param authUserAddAppDTO 请求参数
-     * @return  添加结果
+     * 
+     * @param authUserAddAppDTO
+     *            请求参数
+     * @return 添加结果
      */
     @Override
-    public R addEldersByApp(ComEldersAuthUserAddAppDTO authUserAddAppDTO){
+    public R addEldersByApp(ComEldersAuthUserAddAppDTO authUserAddAppDTO) {
 
-        ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectOne(new QueryWrapper<ComEldersAuthUserDO>().lambda()
-                .eq(ComEldersAuthUserDO::getIdCard,authUserAddAppDTO.getIdCard()));
-        if(authUserDO != null){
+        ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectOne(new QueryWrapper<ComEldersAuthUserDO>()
+            .lambda().eq(ComEldersAuthUserDO::getIdCard, authUserAddAppDTO.getIdCard()));
+        if (authUserDO != null) {
             return R.fail("当前老人已存在");
         }
 
-        String encryptedIdCard =authUserAddAppDTO.getIdCard();
+        String encryptedIdCard = authUserAddAppDTO.getIdCard();
         try {
-            encryptedIdCard =  AESUtil.encrypt128(authUserAddAppDTO.getIdCard(), aesKey);
+            encryptedIdCard = AESUtil.encrypt128(authUserAddAppDTO.getIdCard(), aesKey);
         } catch (Exception e) {
             e.printStackTrace();
         }
-        ComEldersAuthElderlyDO authElderlyDO = comEldersAuthElderlyMapper.selectOne(new QueryWrapper<ComEldersAuthElderlyDO>().lambda()
-                .eq(ComEldersAuthElderlyDO::getIdCard, encryptedIdCard));
-        if(authElderlyDO == null){
+        ComEldersAuthElderlyDO authElderlyDO = comEldersAuthElderlyMapper.selectOne(
+            new QueryWrapper<ComEldersAuthElderlyDO>().lambda().eq(ComEldersAuthElderlyDO::getIdCard, encryptedIdCard));
+        if (authElderlyDO == null) {
             return R.fail("未在系统找到相符的高龄老人!请检查信息是否正确,或联系社区工作人员");
         }
 
         authUserDO = new ComEldersAuthUserDO();
-        BeanUtils.copyProperties(authUserAddAppDTO,authUserDO);
+        BeanUtils.copyProperties(authUserAddAppDTO, authUserDO);
         authUserDO.setBigAgeId(authElderlyDO.getId());
         authUserDO.setName(authElderlyDO.getName());
-        if(comEldersAuthUserMapper.insert(authUserDO) > 0){
+        if (comEldersAuthUserMapper.insert(authUserDO) > 0) {
             return R.ok(authUserDO.getId());
         }
 
@@ -422,23 +464,25 @@
 
     /**
      * 修改高龄老人接口
-     * @param authUserAddAppDTO 请求参数
-     * @return  修改结果
+     * 
+     * @param authUserAddAppDTO
+     *            请求参数
+     * @return 修改结果
      */
     @Override
-    public R editEldersByApp(ComEldersAuthUserAddAppDTO authUserAddAppDTO){
+    public R editEldersByApp(ComEldersAuthUserAddAppDTO authUserAddAppDTO) {
 
         ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectById(authUserAddAppDTO.getElderId());
-        if(authUserDO == null){
+        if (authUserDO == null) {
             return R.fail("未查询到老人信息");
         }
-        if(StringUtils.isNotEmpty(authUserAddAppDTO.getName())){
+        if (StringUtils.isNotEmpty(authUserAddAppDTO.getName())) {
             authUserDO.setName(authUserAddAppDTO.getName());
         }
-        if(authUserAddAppDTO.getRelation() != null){
+        if (authUserAddAppDTO.getRelation() != null) {
             authUserDO.setRelation(authUserAddAppDTO.getRelation());
         }
-        if(comEldersAuthUserMapper.updateById(authUserDO) > 0){
+        if (comEldersAuthUserMapper.updateById(authUserDO) > 0) {
             return R.ok();
         }
         return R.fail();
@@ -449,21 +493,21 @@
         Page page = new Page();
         page.setCurrent(pageEldersAuthElderlyDTO.getPageNum());
         page.setSize(pageEldersAuthElderlyDTO.getPageSize());
-        IPage<ComEldersAuthRecordForCommunityVO> ipage = eldersAuthDAO.selectCommunityEldersRecordByPage(page, pageEldersAuthElderlyDTO);
+        IPage<ComEldersAuthRecordForCommunityVO> ipage =
+            eldersAuthDAO.selectCommunityEldersRecordByPage(page, pageEldersAuthElderlyDTO);
         return R.ok(ipage);
     }
+
     @Override
     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));
-        if(authConf!=null && authConf.size()>0){
+            sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, communityId)
+                .eq(SysConfDO::getCode, "ELDER_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt));
+        if (authConf != null && authConf.size() > 0) {
             SysConfDO first = authConf.get(0);
-            first.setValue(type+"");
+            first.setValue(type + "");
             int updated = sysConfDao.updateById(first);
-            if(updated == 1){
+            if (updated == 1) {
                 return R.ok();
             }
         }
@@ -471,24 +515,205 @@
     }
 
     @Override
-    public R getAuthHistoryList(PageEldersAuthHistoryDTO pageEldersAuthElderlyDTO){
-        return R.ok(comEldersAuthStatisticsMapper.findByPage(new Page(pageEldersAuthElderlyDTO.getPageNum(),pageEldersAuthElderlyDTO.getPageSize()),pageEldersAuthElderlyDTO));
+    public R getAuthHistoryList(PageEldersAuthHistoryDTO pageEldersAuthElderlyDTO) {
+        return R.ok(comEldersAuthStatisticsMapper.findByPage(
+            new Page(pageEldersAuthElderlyDTO.getPageNum(), pageEldersAuthElderlyDTO.getPageSize()),
+            pageEldersAuthElderlyDTO));
     }
 
-    public R getAuthHistoryExport(PageEldersAuthHistoryDTO pageEldersAuthElderlyDTO){
-        Date startTime = DateUtils.getYearMonthStart(pageEldersAuthElderlyDTO.getYear(),pageEldersAuthElderlyDTO.getMonth());
-        Date endTime = DateUtils.getYearMonthEnd(pageEldersAuthElderlyDTO.getYear(),pageEldersAuthElderlyDTO.getMonth());
+    @Override
+    public R getAuthHistoryExport(PageEldersAuthHistoryDTO pageEldersAuthElderlyDTO) {
+        Date startTime =
+            DateUtils.getYearMonthStart(pageEldersAuthElderlyDTO.getYear(), pageEldersAuthElderlyDTO.getMonth());
+        Date endTime =
+            DateUtils.getYearMonthEnd(pageEldersAuthElderlyDTO.getYear(), pageEldersAuthElderlyDTO.getMonth());
 
-        List<ComEldersAuthHistoryRecordDO> userList = comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>().lambda()
-                .eq(ComEldersAuthHistoryRecordDO::getCommunityId,pageEldersAuthElderlyDTO.getCommunityId())
-                .ge(ComEldersAuthHistoryRecordDO::getCreateAt,startTime).le(ComEldersAuthHistoryRecordDO::getCreateAt,endTime));
+        List<ComEldersAuthHistoryRecordDO> userList =
+            comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>().lambda()
+                .eq(ComEldersAuthHistoryRecordDO::getCommunityId, pageEldersAuthElderlyDTO.getCommunityId())
+                .ge(ComEldersAuthHistoryRecordDO::getCreateAt, startTime)
+                .le(ComEldersAuthHistoryRecordDO::getCreateAt, endTime));
 
         List<ComEldersAuthHistoryExcelVO> authHistoryExcelVOS = new ArrayList<>();
         userList.forEach(user -> {
             ComEldersAuthHistoryExcelVO authHistoryExcelVO = new ComEldersAuthHistoryExcelVO();
-            BeanUtils.copyProperties(user,authHistoryExcelVO);
+            BeanUtils.copyProperties(user, authHistoryExcelVO);
             authHistoryExcelVOS.add(authHistoryExcelVO);
         });
         return R.ok(authHistoryExcelVOS);
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R timedTaskEldersAuthJobHandler(){
+
+        Date nowDate = new Date();
+        //查询所有启用中社区
+        List<ComActDO> actList = comActDAO.selectList(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getState,0));
+
+        actList.forEach(act -> {
+            //查询社区老人认证统计信息,并存储到数据库中
+            Map<String,Object> resultMap = this.baseMapper.getEldersAuthStatistics(act.getCommunityId());
+            if(resultMap != null){
+                ComEldersAuthStatisticsDO authStatisticsDO = new ComEldersAuthStatisticsDO();
+                authStatisticsDO.setCommunityId(act.getCommunityId());
+                authStatisticsDO.setMonth(DateUtils.getMonth(nowDate) + 1);
+                authStatisticsDO.setYear(DateUtils.getYear(nowDate));
+                authStatisticsDO.setCreateAt(nowDate);
+                authStatisticsDO.setSum(Integer.parseInt(resultMap.get("oldCount").toString()));
+                authStatisticsDO.setNoAuthSum(Integer.parseInt(resultMap.get("noCount").toString()));
+                authStatisticsDO.setAuthSum(Integer.parseInt(resultMap.get("yesCount").toString()));
+                comEldersAuthStatisticsMapper.insert(authStatisticsDO);
+            }
+        });
+        //重置所有人的认证状态
+        comEldersAuthUserMapper.updateAuthStatus();
+        return R.ok();
+    }
+
+    /**
+     * 身份认证定时任务
+     * @return  执行结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R timedTaskEldersRecordAuthJobHandler(){
+        Date nowDate = new Date();
+
+        //高龄认证本期期数
+        String elderAuthPeriod = DateUtils.getCurrentDateString_YYYY_MM();
+        //养老认证本期期数
+        String pensionAuthPeriod = DateUtils.getCurrentDateString_YYYY();
+
+        //查询所有老人信息并加入到老人认证历史记录表中,如果不存在则新增,存在则不做操作
+        List<ComElderAuthElderliesDO> authElderliesList = comElderAuthElderliesDAO.getAuthElderLiesList();
+        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);
+                authHistoryRecordDO.setBrithday(IdcardUtil.getBirthByIdCard(authElderlies.getIdCard()));
+                authHistoryRecordDO.setAge(IdcardUtil.getAgeByIdCard(authElderlies.getIdCard()));
+                comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO);
+            }
+        });
+
+        //查询所有养老人员信息并加入到老人认证历史记录表中,如果不存在则新增,存在则不做操作
+        List<ComPensionAuthPensionerDO> pensionAuthPensionerList = comPensionAuthPensionerDAO.getAuthPensionList();
+        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);
+                pensionAuthDO.setBrithday(IdcardUtil.getBirthByIdCard(authPension.getIdCard()));
+                pensionAuthDO.setAge(IdcardUtil.getAgeByIdCard(authPension.getIdCard()));
+                comPensionAuthHistoryRecordMapper.insert(pensionAuthDO);
+            }
+        });
+        return R.ok();
+    }
+
+    @Override
+    public R setAuthType(Long communityId, Integer type){
+        List<SysConfDO> authConf =
+                sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, communityId)
+                        .eq(SysConfDO::getCode, "ELDER_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt));
+        if (authConf != null && authConf.size() > 0) {
+            SysConfDO first = authConf.get(0);
+            first.setValue(type + "");
+            int updated = sysConfDao.updateById(first);
+            if (updated == 1) {
+                return R.ok();
+            }
+        }
+        return R.fail();
+    }
+
+    @Override
+    public R getAuthType(EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO){
+        Long communityId = eldersAuthTypeQueryDTO.getCommunityId();
+        List<SysConfDO> confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>()
+                .eq(SysConfDO::getCommunityId, communityId).eq(SysConfDO::getCode,"ELDER_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt));
+        if (confDOList == null || confDOList.size() == 0) {
+            SysConfDO sysConfDO = new SysConfDO();
+            sysConfDO.setCode("ELDER_AUTH_TYPE_" + communityId);
+            sysConfDO.setName("高龄认证类型");
+            sysConfDO.setValue(2 + "");// 核验类型(1.视频认证 2.人脸核验)
+            sysConfDO.setDescription("高龄认证默认添加的核验类型");
+            sysConfDO.setCommunityId(communityId);
+            sysConfDO.setCreateBy(eldersAuthTypeQueryDTO.getUserId());
+            int inserted = sysConfDao.insert(sysConfDO);
+            if (inserted != 1) {
+                throw new ServiceException("添加高龄认证默认添加的核验类型失败");
+            }
+            confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>()
+                    .eq(SysConfDO::getCommunityId, communityId)
+                    .orderByDesc(SysConfDO::getCreateAt));
+        }
+        if (confDOList != null && confDOList.size() > 0) {
+            SysConfDO latest = confDOList.get(0);
+            SysConfVO sysConfVO = new SysConfVO();
+            BeanUtils.copyProperties(latest, sysConfVO);
+            return R.ok(sysConfVO.getValue());
+        }
+        return R.ok();
+    }
+
+    /**
+     * 高龄认证统计-分页查询
+     * @param pageElderAuthStatisticDTO 请求参数
+     * @return  高龄认证统计列表
+     */
+    @Override
+    public R pageAuthStatisticAdmin(PageElderAuthStatisticDTO pageElderAuthStatisticDTO){
+        IPage<ComEldersAuthStatisticVO> authStatisticPage = comEldersAuthHistoryRecordMapper.pageAuthStatisticAdmin(
+                new Page(pageElderAuthStatisticDTO.getPageNum(),pageElderAuthStatisticDTO.getPageSize()),pageElderAuthStatisticDTO);
+        authStatisticPage.getRecords().forEach(authStatistic -> {
+            authStatistic.setAge(IdcardUtil.getAgeByIdCard(authStatistic.getIdCard()));
+            authStatistic.setBirthday(IdcardUtil.getBirth(authStatistic.getIdCard()));
+        });
+        return R.ok(authStatisticPage);
+    }
+
+    /**
+     * 高龄认证统计-标记
+     * @param signElderAuthStatisticDTO 请求参数
+     * @return  标记结果
+     */
+    @Override
+    public R signAuthStatisticAdmin(SignElderAuthStatisticDTO signElderAuthStatisticDTO){
+        ComEldersAuthHistoryRecordDO authHistoryRecordDO = comEldersAuthHistoryRecordMapper.selectById(signElderAuthStatisticDTO.getId());
+        if(authHistoryRecordDO == null){
+            return R.fail("未查询到该记录");
+        }
+        authHistoryRecordDO.setMark(signElderAuthStatisticDTO.getMark());
+        if(comEldersAuthHistoryRecordMapper.updateById(authHistoryRecordDO) > 0){
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 高龄认证统计-统计表头数据
+     * @param statisticHeaderDTO 请求参数
+     * @return  统计表头数据
+     */
+    @Override
+    public R getAuthHeaderStatisticAdmin(ElderAuthStatisticHeaderDTO statisticHeaderDTO){
+        return R.ok(comEldersAuthHistoryRecordMapper.getAuthHeaderStatisticAdmin(statisticHeaderDTO));
+    }
 }

--
Gitblit v1.7.1