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