From 1775bb71f952106c58657cf02891cbe2a286c8f8 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期三, 22 九月 2021 11:30:47 +0800
Subject: [PATCH] Merge branch 'test' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into test

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java |  163 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 161 insertions(+), 2 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 5eb7e1b..1b4be99 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
@@ -3,9 +3,14 @@
 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 org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -60,6 +65,8 @@
     private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper;
     @Resource
     private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper;
+    @Resource
+    private ComActDAO comActDAO;
 
     @Value("${domain.aesKey:}")
     private String aesKey;
@@ -247,10 +254,10 @@
     public R communityAuthType(EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO) {
         Long communityId = eldersAuthTypeQueryDTO.getCommunityId();
         List<SysConfDO> confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>()
-            .eq(SysConfDO::getCommunityId, communityId).orderByDesc(SysConfDO::getCreateAt));
+            .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.setDescription("高龄认证默认添加的核验类型");
@@ -503,6 +510,7 @@
             pageEldersAuthElderlyDTO));
     }
 
+    @Override
     public R getAuthHistoryExport(PageEldersAuthHistoryDTO pageEldersAuthElderlyDTO) {
         Date startTime =
             DateUtils.getYearMonthStart(pageEldersAuthElderlyDTO.getYear(), pageEldersAuthElderlyDTO.getMonth());
@@ -523,4 +531,155 @@
         });
         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();
+        //查询所有启用中社区
+        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("年龄转换失败");
+                    }
+                    comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO);
+                }
+            });
+        });
+        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){
+        return R.ok(comEldersAuthHistoryRecordMapper.pageAuthStatisticAdmin(new Page(pageElderAuthStatisticDTO.getPageNum(),pageElderAuthStatisticDTO.getPageSize()),pageElderAuthStatisticDTO));
+    }
+
+    /**
+     * 高龄认证统计-标记
+     * @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