From 55b91c9938a8eaa4a96910f6fce633c7bcdaa85f Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期六, 18 九月 2021 16:02:43 +0800 Subject: [PATCH] 1 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java | 128 +++++++++++++++++++++++++++++++++--------- 1 files changed, 100 insertions(+), 28 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java index 7265164..ddc8b29 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java @@ -1,5 +1,10 @@ package com.panzhihua.service_community.service.impl; +import static com.panzhihua.common.enums.IdentityApprovalStatusEnum.PASS_THROUGH; +import static com.panzhihua.common.enums.IdentityApprovalStatusEnum.PENDING_REVIEW; +import static com.panzhihua.common.enums.IdentityAuthMethodEnum.FACE_AUTH; +import static com.panzhihua.common.enums.IdentityAuthStatusEnum.CERTIFIED; + import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -9,29 +14,31 @@ import javax.annotation.Resource; -import com.panzhihua.common.model.vos.community.ComPensionAuthRecordExcleVO; -import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportExcelVO; -import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportMistakeExcelVO; -import com.panzhihua.common.model.vos.community.ComPensionAuthRecordStatisticExcleVO; -import com.panzhihua.service_community.dao.ComPensionAuthStatisticsDAO; -import com.panzhihua.service_community.model.dos.ComPensionAuthStatisticsDO; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.enums.PopulHouseUseEnum; +import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.community.AddIdentityAuthDTO; +import com.panzhihua.common.model.dtos.community.EldersAuthTypeQueryDTO; import com.panzhihua.common.model.dtos.community.PageElderAuthRecordsDTO; import com.panzhihua.common.model.dtos.community.PageIdentityAuthRecordDTO; import com.panzhihua.common.model.helper.AESUtil; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.ComPensionAuthRecordExcleVO; +import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportExcelVO; +import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportMistakeExcelVO; +import com.panzhihua.common.model.vos.community.ComPensionAuthRecordStatisticExcleVO; import com.panzhihua.common.model.vos.community.ComPensionAuthRecordVO; +import com.panzhihua.common.model.vos.community.SysConfVO; import com.panzhihua.common.utlis.AgeUtils; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.Snowflake; @@ -40,18 +47,17 @@ import com.panzhihua.service_community.dao.ComMngPopulationDAO; import com.panzhihua.service_community.dao.ComPensionAuthPensionerDAO; import com.panzhihua.service_community.dao.ComPensionAuthRecordDAO; +import com.panzhihua.service_community.dao.ComPensionAuthStatisticsDAO; +import com.panzhihua.service_community.dao.SysConfMapper; import com.panzhihua.service_community.model.dos.ComActDO; import com.panzhihua.service_community.model.dos.ComMngPopulationDO; import com.panzhihua.service_community.model.dos.ComPensionAuthPensionerDO; import com.panzhihua.service_community.model.dos.ComPensionAuthRecordDO; +import com.panzhihua.service_community.model.dos.ComPensionAuthStatisticsDO; +import com.panzhihua.service_community.model.dos.SysConfDO; import com.panzhihua.service_community.service.ComPensionAuthRecordService; import lombok.extern.slf4j.Slf4j; - -import static com.panzhihua.common.enums.IdentityApprovalStatusEnum.PASS_THROUGH; -import static com.panzhihua.common.enums.IdentityApprovalStatusEnum.PENDING_REVIEW; -import static com.panzhihua.common.enums.IdentityAuthMethodEnum.FACE_AUTH; -import static com.panzhihua.common.enums.IdentityAuthStatusEnum.CERTIFIED; /** * @title: ComPensionAuthRecordServiceImpl @@ -75,6 +81,8 @@ private ComActDAO comActDAO; @Resource private ComPensionAuthStatisticsDAO comPensionAuthStatisticsDAO; + @Resource + private SysConfMapper sysConfDao; @Value("${domain.aesKey:}") private String aesKey; @@ -181,6 +189,7 @@ BeanUtils.copyProperties(vo, mistake); setMistake(mistake, vo); mistake.setMistake("该实有人口已存在,但本社区不存在养老信息,请先导入养老人口"); + mistake.setAuthDate(DateUtils.format(vo.getAuthDate(),DateUtils.yyyyMMdd_format)); mistakes.add(mistake); }else { //存在养老信息,判断是否满足认证条件 @@ -189,9 +198,11 @@ BeanUtils.copyProperties(vo, mistake); setMistake(mistake, vo); mistake.setMistake("该人口不健在,或者未做养老登记"); + mistake.setAuthDate(DateUtils.format(vo.getAuthDate(),DateUtils.yyyyMMdd_format)); mistakes.add(mistake); }else { //满足认证条件,判断是否存在当期认证记录 + List<ComPensionAuthRecordDO> pensionAuthList = null; ComPensionAuthRecordDO comPensionAuthRecordDO = null; Date nowDate = new Date(); // 获取当前年 @@ -203,30 +214,38 @@ authPeriod = String.valueOf(year); } - comPensionAuthRecordDO = comPensionAuthRecordDAO.selectOne(new QueryWrapper<ComPensionAuthRecordDO>().lambda(). - eq(ComPensionAuthRecordDO::getPensionerId, comPensionAuthPensionerDO.getId()).eq(ComPensionAuthRecordDO::getAuthPeriod, authPeriod)); - if (null != comPensionAuthRecordDO) { + pensionAuthList = comPensionAuthRecordDAO.selectList(new QueryWrapper<ComPensionAuthRecordDO>().lambda(). + eq(ComPensionAuthRecordDO::getPensionerId, comPensionAuthPensionerDO.getId()) + .eq(ComPensionAuthRecordDO::getAuthPeriod, authPeriod).orderByDesc(ComPensionAuthRecordDO::getCreateAt)); + + if (null != pensionAuthList && pensionAuthList.size() > 0) { + comPensionAuthRecordDO = pensionAuthList.get(0); //存在记录且状态为已认证,不能修改 - if (comPensionAuthRecordDO.getAuthStatus().equals(CERTIFIED.getStatus())) { + if (comPensionAuthRecordDO.getApprovalStatus().equals(ComPensionAuthRecordDO.approvalStatus.tg)) { ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setMistake(mistake, vo); - mistake.setMistake("该人口本期已认证,不能修改"); + mistake.setMistake("该人口本期已认证,不可重复认证"); + mistake.setAuthDate(DateUtils.format(vo.getAuthDate(),DateUtils.yyyyMMdd_format)); mistakes.add(mistake); + }else if (comPensionAuthRecordDO.getApprovalStatus().equals(ComPensionAuthRecordDO.approvalStatus.dsh)) { + //存在待审核记录,进行更新认证信息 + comPensionAuthRecordDO.setSubmitUserId(userId); + comPensionAuthRecordDO.setApproverId(userId); + comPensionAuthRecordDO.setApprovalStatus(ComPensionAuthRecordDO.approvalStatus.tg); + comPensionAuthRecordDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); + comPensionAuthRecordDO.setApprovalDate(new Date()); + comPensionAuthRecordDO.setAuthStatus(ComPensionAuthRecordDO.authStatus.rez); + comPensionAuthRecordDO.setCommunityId(communityId); + updateList.add(comPensionAuthRecordDO); }else { - //存在记录,执行修改 - ComPensionAuthRecordDO comPensionAuthRecordDO1 = - updatePensionAuthRecordsDO(vo, comPensionAuthRecordDO, userId); - updateList.add(comPensionAuthRecordDO1); - ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); - BeanUtils.copyProperties(vo, mistake); - setMistake(mistake, vo); - mistake.setMistake("该认证已存在,执行更新"); - mistakes.add(mistake); + // 不存在记录,则新增 + comPensionAuthRecordDO = savePensionAuthRecordsDO(vo, comPensionAuthPensionerDO, authPeriod, userId,communityId); + saveList.add(comPensionAuthRecordDO); } }else { // 不存在记录,则新增 - comPensionAuthRecordDO = savePensionAuthRecordsDO(vo, comPensionAuthPensionerDO, authPeriod, userId); + comPensionAuthRecordDO = savePensionAuthRecordsDO(vo, comPensionAuthPensionerDO, authPeriod, userId,communityId); saveList.add(comPensionAuthRecordDO); } } @@ -237,6 +256,7 @@ BeanUtils.copyProperties(vo, mistake); setMistake(mistake, vo); mistake.setMistake("不存在该实有人口,请先导入实有人口信息"); + mistake.setAuthDate(DateUtils.format(vo.getAuthDate(),DateUtils.yyyyMMdd_format)); mistakes.add(mistake); } log.info("开始查询实有人口是否已存在完成"); @@ -273,6 +293,52 @@ } @Override + public R setPensionAuthType(Long communityId, Integer type) { + List<SysConfDO> authConf = + sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, communityId) + .eq(SysConfDO::getCode, "PENSION_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 communityPensionAuthType(EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO) { + Long communityId = eldersAuthTypeQueryDTO.getCommunityId(); + List<SysConfDO> confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() + .eq(SysConfDO::getCommunityId, communityId).eq(SysConfDO::getCode,"PENSION_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt)); + if (confDOList == null || confDOList.size() == 0) { + SysConfDO sysConfDO = new SysConfDO(); + sysConfDO.setCode("PENSION_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(); + } + + @Override public R timedTaskPensionAuthStatisticsJobHandler() { Date nowDate = new Date(); int month = DateUtils.getMonth(nowDate) + 1; @@ -306,17 +372,21 @@ return R.ok(); } - private ComPensionAuthRecordDO updatePensionAuthRecordsDO(ComPensionAuthRecordImportExcelVO vo, ComPensionAuthRecordDO comPensionAuthRecordsDO, Long userId) { + private ComPensionAuthRecordDO updatePensionAuthRecordsDO(ComPensionAuthRecordImportExcelVO vo + , ComPensionAuthRecordDO comPensionAuthRecordsDO, Long userId , Long communityId) { BeanUtils.copyProperties(vo, comPensionAuthRecordsDO); comPensionAuthRecordsDO.setSubmitUserId(userId); comPensionAuthRecordsDO.setApproverId(userId); comPensionAuthRecordsDO.setApprovalStatus(PASS_THROUGH.getStatus()); comPensionAuthRecordsDO.setApprovalDate(new Date()); comPensionAuthRecordsDO.setAuthStatus(CERTIFIED.getStatus()); + comPensionAuthRecordsDO.setCommunityId(communityId); + comPensionAuthRecordsDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); return comPensionAuthRecordsDO; } - private ComPensionAuthRecordDO savePensionAuthRecordsDO(ComPensionAuthRecordImportExcelVO vo, ComPensionAuthPensionerDO comPensionAuthPensionerDO, String authPeriod, Long userId) { + private ComPensionAuthRecordDO savePensionAuthRecordsDO(ComPensionAuthRecordImportExcelVO vo + , ComPensionAuthPensionerDO comPensionAuthPensionerDO, String authPeriod, Long userId, Long communityId) { ComPensionAuthRecordDO comPensionAuthRecordDO = new ComPensionAuthRecordDO(); BeanUtils.copyProperties(vo, comPensionAuthRecordDO); comPensionAuthRecordDO.setId(Snowflake.getId()); @@ -327,6 +397,8 @@ comPensionAuthRecordDO.setApprovalStatus(PASS_THROUGH.getStatus()); comPensionAuthRecordDO.setApprovalDate(new Date()); comPensionAuthRecordDO.setAuthStatus(CERTIFIED.getStatus()); + comPensionAuthRecordDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); + comPensionAuthRecordDO.setCommunityId(communityId); return comPensionAuthRecordDO; } -- Gitblit v1.7.1