From 15d3711a5321e9a5c38b66320ca6bff5b96a3b50 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期六, 18 九月 2021 16:00:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java | 148 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 127 insertions(+), 21 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 7dbc785..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,37 +1,63 @@ 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; +import java.util.HashMap; +import java.util.List; +import java.util.Objects; + +import javax.annotation.Resource; + +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.*; +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; 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.ComPensionAuthPensionerService; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.service_community.dao.ComActDAO; +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 org.springframework.transaction.annotation.Transactional; -import org.springframework.util.ObjectUtils; - -import javax.annotation.Resource; -import java.text.SimpleDateFormat; -import java.util.*; /** * @title: ComPensionAuthRecordServiceImpl @@ -97,8 +123,8 @@ return R.fail("未查询到养老认证记录"); } BeanUtils.copyProperties(comPensionAuthRecordVO, comPensionAuthRecordDO); - if (comPensionAuthRecordVO.getApprovalStatus().equals(3)) { - comPensionAuthRecordDO.setAuthStatus(1); + if (comPensionAuthRecordVO.getApprovalStatus().equals(PASS_THROUGH.getStatus())) { + comPensionAuthRecordDO.setAuthStatus(CERTIFIED.getStatus()); } comPensionAuthRecordDO.setApprovalDate(new Date()); int nub = comPensionAuthRecordDAO.updateById(comPensionAuthRecordDO); @@ -351,9 +377,9 @@ BeanUtils.copyProperties(vo, comPensionAuthRecordsDO); comPensionAuthRecordsDO.setSubmitUserId(userId); comPensionAuthRecordsDO.setApproverId(userId); - comPensionAuthRecordsDO.setApprovalStatus(3); + comPensionAuthRecordsDO.setApprovalStatus(PASS_THROUGH.getStatus()); comPensionAuthRecordsDO.setApprovalDate(new Date()); - comPensionAuthRecordsDO.setAuthStatus(1); + comPensionAuthRecordsDO.setAuthStatus(CERTIFIED.getStatus()); comPensionAuthRecordsDO.setCommunityId(communityId); comPensionAuthRecordsDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); return comPensionAuthRecordsDO; @@ -368,9 +394,9 @@ comPensionAuthRecordDO.setAuthPeriod(authPeriod); comPensionAuthRecordDO.setSubmitUserId(userId); comPensionAuthRecordDO.setApproverId(userId); - comPensionAuthRecordDO.setApprovalStatus(3); + comPensionAuthRecordDO.setApprovalStatus(PASS_THROUGH.getStatus()); comPensionAuthRecordDO.setApprovalDate(new Date()); - comPensionAuthRecordDO.setAuthStatus(1); + comPensionAuthRecordDO.setAuthStatus(CERTIFIED.getStatus()); comPensionAuthRecordDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); comPensionAuthRecordDO.setCommunityId(communityId); return comPensionAuthRecordDO; @@ -393,4 +419,84 @@ private boolean isOnly(String key, HashMap<String, Object> hashMap) { return ObjectUtils.isEmpty(hashMap.get(key)); } + + /** + * 新增养老认证 + * @param addIdentityAuthDTO 请求参数 + * @return 新增结果 + */ + @Override + public R addPensionAuth(AddIdentityAuthDTO addIdentityAuthDTO) { + String idCard; + try { + idCard = AESUtil.encrypt128(addIdentityAuthDTO.getIdCard(), aesKey); + } catch (Exception e) { + e.printStackTrace(); + log.error("加密失败【{}】", e.getMessage()); + return R.fail("认证失败,请重新尝试"); + } + ComPensionAuthPensionerDO comPensionAuthPensionerDO = comPensionAuthPensionerDAO.selectOne(new QueryWrapper<ComPensionAuthPensionerDO>() + .lambda().eq(ComPensionAuthPensionerDO::getIdCard, idCard).eq(ComPensionAuthPensionerDO::getCommunityId, addIdentityAuthDTO.getCommunityId())); + if (Objects.isNull(comPensionAuthPensionerDO)) { + return R.fail("该人员未在社区报道无法认证"); + } + boolean isInfoCorrect = !comPensionAuthPensionerDO.getName().equals(addIdentityAuthDTO.getName()) || + !(comPensionAuthPensionerDO.getIsRegister() && comPensionAuthPensionerDO.getIsAlive()); + if (isInfoCorrect) { + return R.fail("信息有误,请检查!"); + } + Date dateNow = new Date(); + String currentAuthPeriod = new SimpleDateFormat("yyyy").format(dateNow); + List<ComPensionAuthRecordDO> currentAuthPeriodRecords = comPensionAuthRecordDAO + .selectList(new QueryWrapper<ComPensionAuthRecordDO>().lambda() + .eq(ComPensionAuthRecordDO::getAuthPeriod, currentAuthPeriod) + .eq(ComPensionAuthRecordDO::getPensionerId, comPensionAuthPensionerDO.getId())); + if (!currentAuthPeriodRecords.isEmpty()) { + boolean alreadyAuth = currentAuthPeriodRecords.stream() + .filter(record -> record.getAuthStatus().equals(CERTIFIED.getStatus())).findFirst().isPresent(); + if (alreadyAuth) { + return R.fail(String.format("该人员%s期已认证无需重复认证", currentAuthPeriod)); + } + boolean isPendingReview = currentAuthPeriodRecords.stream() + .filter(record -> record.getApprovalStatus().intValue() == PENDING_REVIEW.getStatus()).findFirst().isPresent(); + if (isPendingReview) { + return R.fail("该人员本期有尚未审核的认证,请稍后再试!"); + } + } + ComPensionAuthRecordDO comPensionAuthRecordDO = new ComPensionAuthRecordDO(); + BeanUtils.copyProperties(addIdentityAuthDTO, comPensionAuthRecordDO); + comPensionAuthRecordDO.setPensionerId(comPensionAuthPensionerDO.getId()); + comPensionAuthRecordDO.setAuthDate(dateNow); + comPensionAuthRecordDO.setAuthPeriod(currentAuthPeriod); + if (addIdentityAuthDTO.getAuthMethod().intValue() == FACE_AUTH.getMethod()) { + comPensionAuthRecordDO.setApprovalStatus(PASS_THROUGH.getStatus()); + comPensionAuthRecordDO.setApprovalDate(dateNow); + comPensionAuthRecordDO.setAuthStatus(CERTIFIED.getStatus()); + } + if (this.baseMapper.insert(comPensionAuthRecordDO) < 0) { + return R.fail("认证失败,请重新尝试"); + } + return R.ok(); + } + + /** + * 分页查询养老认证记录 + * @param pageIdentityAuthRecordDTO 查询参数 + * @return 养老认证记录列表 + */ + @Override + public R queryRecordWithPage(PageIdentityAuthRecordDTO pageIdentityAuthRecordDTO) { + return R.ok(comPensionAuthRecordDAO.queryRecordWithPage(new Page(pageIdentityAuthRecordDTO.getPageNum(), + pageIdentityAuthRecordDTO.getPageSize()), pageIdentityAuthRecordDTO)); + } + + /** + * 获取养老认证详情 + * @param identityAuthId 认证id + * @return 认证记录详情 + */ + @Override + public R retrievePensionAuthDetail(Long identityAuthId) { + return R.ok(comPensionAuthRecordDAO.findById(identityAuthId)); + } } -- Gitblit v1.7.1