From e7f03acfa5ee4ad4fd6d1ee9e9ae9a5655488f6d Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期二, 09 十一月 2021 17:04:46 +0800 Subject: [PATCH] 1109修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java | 279 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 212 insertions(+), 67 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..2fe1fe7 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,57 +1,62 @@ 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.Map; import java.util.Objects; 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 com.panzhihua.common.model.vos.community.*; +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 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.ComPensionAuthRecordVO; 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.common.utlis.WxUtil; +import com.panzhihua.common.utlis.WxXCXTempSend; +import com.panzhihua.service_community.dao.ComActActSignDAO; 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 cn.hutool.core.util.IdcardUtil; 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,8 +80,14 @@ private ComActDAO comActDAO; @Resource private ComPensionAuthStatisticsDAO comPensionAuthStatisticsDAO; + @Resource + private SysConfMapper sysConfDao; + @Resource + private ComActActSignDAO comActActSignDAO; @Value("${domain.aesKey:}") private String aesKey; + @Resource + private ComPensionAuthPensionerService comPensionAuthPensionerService; @Override public R pagePensionAuthRecords(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { @@ -91,6 +102,13 @@ } page.setSize(pageSize); page.setCurrent(pageNum); + try { + //关键词为空时需要进行加密,通过加密去检索身份证号筛选高龄认证记录 + String idCard = AESUtil.encrypt128(pageElderAuthRecordsDTO.getSearchKey(), aesKey); + pageElderAuthRecordsDTO.setIdCard(idCard); + }catch (Exception e){ + log.error("查询高龄认证记录转换身份证号失败"); + } IPage<ComPensionAuthRecordVO> iPage = comPensionAuthRecordDAO.pagePensionAuthRecords(page, pageElderAuthRecordsDTO); if (!iPage.getRecords().isEmpty()) { iPage.getRecords().forEach(comPensionAuthRecordVO -> { @@ -105,6 +123,12 @@ @Override public R detailPensionAuthRecords(Long authRecordId) { ComPensionAuthRecordVO comPensionAuthRecordVO = comPensionAuthRecordDAO.detailPensionAuthRecords(authRecordId); + comPensionAuthRecordVO.setNextIds(comPensionAuthRecordDAO.getNextIds(comPensionAuthRecordVO.getCommunityId(),authRecordId)); + try { + comPensionAuthRecordVO.setAge(IdcardUtil.getAgeByIdCard(comPensionAuthRecordVO.getIdCard())); + }catch (Exception e){ + log.error("身份证转换失败"); + } return R.ok(comPensionAuthRecordVO); } @@ -114,9 +138,21 @@ if (comPensionAuthRecordDO == null) { return R.fail("未查询到养老认证记录"); } + + ComPensionAuthPensionerDO authPensionerDO = comPensionAuthPensionerDAO.selectById(comPensionAuthRecordDO.getPensionerId()); + if(authPensionerDO == null){ + return R.fail("未查询到老人信息"); + } + BeanUtils.copyProperties(comPensionAuthRecordVO, comPensionAuthRecordDO); if (comPensionAuthRecordVO.getApprovalStatus().equals(PASS_THROUGH.getStatus())) { comPensionAuthRecordDO.setAuthStatus(CERTIFIED.getStatus()); + sendAuthSubscribe(comPensionAuthRecordDO.getSubmitUserId(), "养老认证", "认证成功!"); + + authPensionerDO.setAddress(comPensionAuthRecordVO.getAddress()); + comPensionAuthPensionerDAO.updateById(authPensionerDO); + } else { + sendAuthSubscribe(comPensionAuthRecordDO.getSubmitUserId(), "养老认证", comPensionAuthRecordVO.getRejectReason()); } comPensionAuthRecordDO.setApprovalDate(new Date()); int nub = comPensionAuthRecordDAO.updateById(comPensionAuthRecordDO); @@ -124,6 +160,23 @@ return R.fail("审核失败"); } return R.ok(); + } + + private void sendAuthSubscribe(Long userId, String name, String result) { + //发送订阅通知 + Map<String, String> map = comActActSignDAO.getUserOpenId(userId); + if (map != null) { + String openid = map.get("openid"); + try { + WxXCXTempSend util = new WxXCXTempSend(); + String accessToken = util.getAppAccessToken(); + WxUtil.sendSubscribeRZSH(openid, accessToken, name, + DateUtils.format(new Date(), DateUtils.ymdhms_format), + result); + } catch (Exception e) { + log.error("推送审核状态订阅消息失败,失败原因:" + e.getMessage()); + } + } } @Override @@ -153,7 +206,10 @@ List<ComPensionAuthRecordDO> saveList = new ArrayList<>(); // 需要修改的认证记录集合 List<ComPensionAuthRecordDO> updateList = new ArrayList<>(); + // 需要更新的老人信息 + List<ComPensionAuthPensionerDO> updatePensionerList = new ArrayList<>(); log.info("开始处理导入数据"); + Date nowDate = new Date(); List<ComPensionAuthRecordImportMistakeExcelVO> mistakes = new ArrayList<>(); try { // 查询所有人口数据放入HashMap中 @@ -165,7 +221,6 @@ }); for (ComPensionAuthRecordImportExcelVO vo : list) { - String cardNoAES = AESUtil.encrypt128(vo.getIdCard(), aesKey); // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; @@ -179,55 +234,63 @@ if (null == comPensionAuthPensionerDO) { ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); - setMistake(mistake, vo); mistake.setMistake("该实有人口已存在,但本社区不存在养老信息,请先导入养老人口"); + mistake.setAuthDate(DateUtils.format(vo.getAuthDate(),DateUtils.yyyyMMdd_format)); mistakes.add(mistake); }else { //存在养老信息,判断是否满足认证条件 if (!comPensionAuthPensionerDO.getIsRegister().equals(1) || !comPensionAuthPensionerDO.getIsAlive().equals(1)) { ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); 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(); - // 获取当前年 - int year = DateUtils.getYear(nowDate); - String authPeriod = ""; - if (nowDate.before(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(String.valueOf(year) + "-03-01 00:00:00"))) { - authPeriod = String.valueOf(year - 1); - }else { - authPeriod = String.valueOf(year); - } + String authPeriod = vo.getAuthPeriod(); + pensionAuthList = comPensionAuthRecordDAO.selectList(new QueryWrapper<ComPensionAuthRecordDO>().lambda(). + eq(ComPensionAuthRecordDO::getPensionerId, comPensionAuthPensionerDO.getId()) + .eq(ComPensionAuthRecordDO::getAuthPeriod, authPeriod).orderByDesc(ComPensionAuthRecordDO::getCreateAt)); - comPensionAuthRecordDO = comPensionAuthRecordDAO.selectOne(new QueryWrapper<ComPensionAuthRecordDO>().lambda(). - eq(ComPensionAuthRecordDO::getPensionerId, comPensionAuthPensionerDO.getId()).eq(ComPensionAuthRecordDO::getAuthPeriod, authPeriod)); - if (null != comPensionAuthRecordDO) { + 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 = updatePensionAuthRecordsDO(vo, comPensionAuthRecordDO, userId,communityId,nowDate); + updateList.add(comPensionAuthRecordDO); + + if(StringUtils.isNotEmpty(vo.getAddress())){ + comPensionAuthPensionerDO.setAddress(vo.getAddress()); + updatePensionerList.add(comPensionAuthPensionerDO); + } }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,nowDate); + saveList.add(comPensionAuthRecordDO); + + if(StringUtils.isNotEmpty(vo.getAddress())){ + comPensionAuthPensionerDO.setAddress(vo.getAddress()); + updatePensionerList.add(comPensionAuthPensionerDO); + } } }else { // 不存在记录,则新增 - comPensionAuthRecordDO = savePensionAuthRecordsDO(vo, comPensionAuthPensionerDO, authPeriod, userId); + comPensionAuthRecordDO = savePensionAuthRecordsDO(vo, comPensionAuthPensionerDO, authPeriod, userId,communityId,nowDate); saveList.add(comPensionAuthRecordDO); + + if(StringUtils.isNotEmpty(vo.getAddress())){ + comPensionAuthPensionerDO.setAddress(vo.getAddress()); + updatePensionerList.add(comPensionAuthPensionerDO); + } } } } @@ -235,8 +298,8 @@ // 不存在实有人口,则新增 ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); - setMistake(mistake, vo); mistake.setMistake("不存在该实有人口,请先导入实有人口信息"); + mistake.setAuthDate(DateUtils.format(vo.getAuthDate(),DateUtils.yyyyMMdd_format)); mistakes.add(mistake); } log.info("开始查询实有人口是否已存在完成"); @@ -257,6 +320,9 @@ comPensionAuthRecordDAO.updateAll(updateList); log.info("数据库更新线下认证记录完成"); } + if(!updatePensionerList.isEmpty()){ + comPensionAuthPensionerService.updateBatchById(updatePensionerList); + } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { @@ -270,6 +336,52 @@ public R exportPensionAuthRecordsStatistic(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { List<ComPensionAuthRecordStatisticExcleVO> comPensionAuthRecordStatisticExcleVOS = comPensionAuthRecordDAO.exportPensionAuthRecordsStatistic(pageElderAuthRecordsDTO); return R.ok(comPensionAuthRecordStatisticExcleVOS); + } + + @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 @@ -295,31 +407,30 @@ comPensionAuthStatisticsDO.setSum(comPensionAuthPensionerDOS.size()); } comPensionAuthStatisticsDAO.insert(comPensionAuthStatisticsDO); - //上期已认证人数 - int authSum = comPensionAuthPensionerDAO.havePensionAuthPensionerAmount(act.getCommunityId(), String.valueOf(year - 1)); - ComPensionAuthStatisticsDO comPensionAuthStatisticsDO1 = comPensionAuthStatisticsDAO.selectOne(new QueryWrapper<ComPensionAuthStatisticsDO>() - .lambda().eq(ComPensionAuthStatisticsDO::getCommunityId, act.getCommunityId()).eq(ComPensionAuthStatisticsDO::getYear, year - 1)); - comPensionAuthStatisticsDO1.setAuthSum(authSum); - comPensionAuthStatisticsDO1.setNoAuthSum(comPensionAuthStatisticsDO1.getSum() - comPensionAuthStatisticsDO1.getAuthSum()); - comPensionAuthStatisticsDAO.updateById(comPensionAuthStatisticsDO1); }); + + return R.ok(); } - private ComPensionAuthRecordDO updatePensionAuthRecordsDO(ComPensionAuthRecordImportExcelVO vo, ComPensionAuthRecordDO comPensionAuthRecordsDO, Long userId) { + private ComPensionAuthRecordDO updatePensionAuthRecordsDO(ComPensionAuthRecordImportExcelVO vo + , ComPensionAuthRecordDO comPensionAuthRecordsDO, Long userId , Long communityId,Date date) { BeanUtils.copyProperties(vo, comPensionAuthRecordsDO); comPensionAuthRecordsDO.setSubmitUserId(userId); comPensionAuthRecordsDO.setApproverId(userId); - comPensionAuthRecordsDO.setApprovalStatus(PASS_THROUGH.getStatus()); - comPensionAuthRecordsDO.setApprovalDate(new Date()); - comPensionAuthRecordsDO.setAuthStatus(CERTIFIED.getStatus()); + comPensionAuthRecordsDO.setApprovalStatus(ComPensionAuthRecordDO.approvalStatus.tg); + comPensionAuthRecordsDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); + comPensionAuthRecordsDO.setApprovalDate(date); + comPensionAuthRecordsDO.setAuthStatus(ComPensionAuthRecordDO.authStatus.rez); + comPensionAuthRecordsDO.setCommunityId(communityId); + comPensionAuthRecordsDO.setMark(vo.getMark()); 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,Date date) { ComPensionAuthRecordDO comPensionAuthRecordDO = new ComPensionAuthRecordDO(); BeanUtils.copyProperties(vo, comPensionAuthRecordDO); - comPensionAuthRecordDO.setId(Snowflake.getId()); comPensionAuthRecordDO.setPensionerId(comPensionAuthPensionerDO.getId()); comPensionAuthRecordDO.setAuthPeriod(authPeriod); comPensionAuthRecordDO.setSubmitUserId(userId); @@ -327,12 +438,11 @@ comPensionAuthRecordDO.setApprovalStatus(PASS_THROUGH.getStatus()); comPensionAuthRecordDO.setApprovalDate(new Date()); comPensionAuthRecordDO.setAuthStatus(CERTIFIED.getStatus()); + comPensionAuthRecordDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); + comPensionAuthRecordDO.setCommunityId(communityId); + comPensionAuthRecordDO.setCreateAt(date); + comPensionAuthRecordDO.setMark(vo.getMark()); return comPensionAuthRecordDO; - } - - private void setMistake(ComPensionAuthRecordImportMistakeExcelVO mvo, - ComPensionAuthRecordImportExcelVO vo) { - mvo.setIsAlive(PopulHouseUseEnum.getCnDescByName(vo.getIsAlive())); } /** @@ -369,21 +479,21 @@ return R.fail("该人员未在社区报道无法认证"); } boolean isInfoCorrect = !comPensionAuthPensionerDO.getName().equals(addIdentityAuthDTO.getName()) || - !(comPensionAuthPensionerDO.getIsRegister() && comPensionAuthPensionerDO.getIsAlive()); + !(comPensionAuthPensionerDO.getIsRegister().equals(ComPensionAuthPensionerDO.isOk.yes) + && comPensionAuthPensionerDO.getIsAlive().equals(ComPensionAuthPensionerDO.isOk.yes)); 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::getAuthPeriod, comPensionAuthPensionerDO) .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)); + return R.fail(String.format("该人员%s期已认证无需重复认证", addIdentityAuthDTO.getAuthPeriod())); } boolean isPendingReview = currentAuthPeriodRecords.stream() .filter(record -> record.getApprovalStatus().intValue() == PENDING_REVIEW.getStatus()).findFirst().isPresent(); @@ -394,8 +504,8 @@ ComPensionAuthRecordDO comPensionAuthRecordDO = new ComPensionAuthRecordDO(); BeanUtils.copyProperties(addIdentityAuthDTO, comPensionAuthRecordDO); comPensionAuthRecordDO.setPensionerId(comPensionAuthPensionerDO.getId()); - comPensionAuthRecordDO.setAuthDate(dateNow); - comPensionAuthRecordDO.setAuthPeriod(currentAuthPeriod); + comPensionAuthRecordDO.setAuthDate(addIdentityAuthDTO.getAuthTime()); + comPensionAuthRecordDO.setAuthPeriod(addIdentityAuthDTO.getAuthPeriod()); if (addIdentityAuthDTO.getAuthMethod().intValue() == FACE_AUTH.getMethod()) { comPensionAuthRecordDO.setApprovalStatus(PASS_THROUGH.getStatus()); comPensionAuthRecordDO.setApprovalDate(dateNow); @@ -403,6 +513,9 @@ } if (this.baseMapper.insert(comPensionAuthRecordDO) < 0) { return R.fail("认证失败,请重新尝试"); + } + if (addIdentityAuthDTO.getAuthMethod().intValue() == FACE_AUTH.getMethod()) { + sendAuthSubscribe(comPensionAuthRecordDO.getSubmitUserId(), "养老认证", "认证成功!"); } return R.ok(); } @@ -427,4 +540,36 @@ public R retrievePensionAuthDetail(Long identityAuthId) { return R.ok(comPensionAuthRecordDAO.findById(identityAuthId)); } + + @Override + public R add(ComElderAuthRecordVO comElderAuthRecordVO) { + if(!comElderAuthRecordVO.getIdCard().isEmpty()){ + List<ComMngPopulationDO> comMngPopulationDOS=comMngPopulationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getCardNoStr,comElderAuthRecordVO.getIdCard()).orderByDesc(ComMngPopulationDO::getCreateAt)); + if(!comMngPopulationDOS.isEmpty()){ + ComMngPopulationDO comMngPopulationDO=comMngPopulationDOS.get(0); + ComPensionAuthPensionerDO comPensionAuthPensionerDO=comPensionAuthPensionerDAO.selectOne(new QueryWrapper<ComPensionAuthPensionerDO>().lambda().eq(ComPensionAuthPensionerDO::getPopulationId,comMngPopulationDO.getId())); + if(comPensionAuthPensionerDO!=null){ + Integer count=comPensionAuthRecordDAO.selectCount(new QueryWrapper<ComPensionAuthRecordDO>().lambda().eq(ComPensionAuthRecordDO::getPensionerId,comPensionAuthPensionerDO.getId()).eq(ComPensionAuthRecordDO::getAuthPeriod,comElderAuthRecordVO.getAuthPeriod())); + if(count==0){ + ComPensionAuthRecordDO comPensionAuthRecordDO=new ComPensionAuthRecordDO(); + BeanUtils.copyProperties(comElderAuthRecordVO,comPensionAuthRecordDO); + comPensionAuthRecordDO.setApprovalStatus(PASS_THROUGH.getStatus()); + comPensionAuthRecordDO.setApprovalDate(new Date()); + comPensionAuthRecordDO.setAuthStatus(CERTIFIED.getStatus()); + comPensionAuthRecordDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); + comPensionAuthRecordDO.setPensionerId(comPensionAuthPensionerDO.getId()); + comPensionAuthRecordDO.setSubmitUserId(comElderAuthRecordVO.getSubmitUserId()); + if (this.baseMapper.insert(comPensionAuthRecordDO) < 0) { + return R.fail("认证失败,请重新尝试"); + } + return R.ok(); + } + return R.fail("当前期数也认证,请勿重复认证"); + } + return R.fail("无养老认证数据"); + } + return R.fail("该身份证无实有人口信息"); + } + return R.fail("身份证不能为空"); + } } -- Gitblit v1.7.1