From 6424521a768125e66b64a23d2094e05eb95b105f Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期五, 08 十月 2021 11:30:14 +0800 Subject: [PATCH] bug修复 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java | 257 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 254 insertions(+), 3 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 01f27d6..fe1a95c 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,18 @@ 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; @@ -247,10 +264,10 @@ public R communityAuthType(EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO) { Long communityId = eldersAuthTypeQueryDTO.getCommunityId(); List<SysConfDO> confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() - .eq(SysConfDO::getCommunityId, communityId).eq(SysConfDO::getCode,"ELDER_AUTH_TYPE").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("高龄认证默认添加的核验类型"); @@ -484,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 + ""); @@ -524,4 +541,238 @@ }); 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.selectList(new QueryWrapper<>()); + 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(new QueryWrapper<>()); + 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(new QueryWrapper<ComElderAuthRecordsDO>().lambda() + .ge(ComElderAuthRecordsDO::getCreateAt,DateUtils.getFirstDayOfMonth())); + //遍历高龄认证记录列表 + 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()); + 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(new QueryWrapper<ComPensionAuthRecordDO>().lambda() + .ge(ComPensionAuthRecordDO::getCreateAt,DateUtils.getFirstDayOfMonth())); + //遍历养老认证记录列表 + 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()); + 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(); + } + + @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