|  |  |  | 
|---|
|  |  |  | package com.panzhihua.service_community.service.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import cn.hutool.core.util.IdcardUtil; | 
|---|
|  |  |  | 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.ComElderAuthRecordExcleVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.ComElderAuthRecordImportExcelVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.ComElderAuthRecordImportMistakeExcelVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.ComElderAuthRecordStatisticExcleVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.user.SysTemplateConfigVO; | 
|---|
|  |  |  | import com.panzhihua.common.service.user.UserService; | 
|---|
|  |  |  | import com.panzhihua.service_community.dao.*; | 
|---|
|  |  |  | import com.panzhihua.service_community.model.dos.*; | 
|---|
|  |  |  | import com.panzhihua.service_community.service.ComElderAuthElderliesService; | 
|---|
|  |  |  | import org.springframework.beans.BeanUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Value; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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.google.common.base.Joiner; | 
|---|
|  |  |  | import com.panzhihua.common.constants.Constants; | 
|---|
|  |  |  | import com.panzhihua.common.enums.*; | 
|---|
|  |  |  | import com.panzhihua.common.enums.PopulHouseUseEnum; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.AddIdentityAuthDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.PageElderAuthRecordsDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.elder.PageElderAuthStatisticDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.PageIdentityAuthRecordDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.elder.PageElderAuthStatisticDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.helper.AESUtil; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.R; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.ComElderAuthRecordExcleVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.ComElderAuthRecordImportExcelVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.ComElderAuthRecordImportMistakeExcelVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.ComElderAuthRecordStatisticExcleVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.ComElderAuthRecordVO; | 
|---|
|  |  |  | 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.ComActDAO; | 
|---|
|  |  |  | import com.panzhihua.service_community.dao.ComElderAuthElderliesDAO; | 
|---|
|  |  |  | import com.panzhihua.service_community.dao.ComElderAuthRecordsDAO; | 
|---|
|  |  |  | import com.panzhihua.service_community.dao.ComEldersAuthStatisticsMapper; | 
|---|
|  |  |  | import com.panzhihua.service_community.dao.ComMngPopulationDAO; | 
|---|
|  |  |  | import com.panzhihua.service_community.model.dos.ComActDO; | 
|---|
|  |  |  | import com.panzhihua.service_community.model.dos.ComElderAuthElderliesDO; | 
|---|
|  |  |  | import com.panzhihua.service_community.model.dos.ComElderAuthRecordsDO; | 
|---|
|  |  |  | import com.panzhihua.service_community.model.dos.ComEldersAuthStatisticsDO; | 
|---|
|  |  |  | import com.panzhihua.service_community.model.dos.ComMngPopulationDO; | 
|---|
|  |  |  | import com.panzhihua.common.utlis.WxUtil; | 
|---|
|  |  |  | import com.panzhihua.common.utlis.WxXCXTempSend; | 
|---|
|  |  |  | import com.panzhihua.service_community.service.ComElderAuthRecordsService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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: ComElderAuthRecordsServiceImpl  社区政务》高龄老人认证》认证记录表服务实现类 | 
|---|
|  |  |  | 
|---|
|  |  |  | private ComActDAO comActDAO; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComActActSignDAO comActActSignDAO; | 
|---|
|  |  |  | @Value("${domain.aesKey:}") | 
|---|
|  |  |  | private String aesKey; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComPensionAuthHistoryRecordMapper comPensionAuthHistoryRecordMapper; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComPensionAuthRecordDAO comPensionAuthRecordDAO; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComPensionAuthPensionerDAO comPensionAuthPensionerDAO; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComElderAuthElderliesService comElderAuthElderliesService; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private UserService userService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R pageElderAuthRecords(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | page.setSize(pageSize); | 
|---|
|  |  |  | page.setCurrent(pageNum); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | //关键词为空时需要进行加密,通过加密去检索身份证号筛选高龄认证记录 | 
|---|
|  |  |  | String idCard = AESUtil.encrypt128(pageElderAuthRecordsDTO.getSearchKey(), aesKey); | 
|---|
|  |  |  | pageElderAuthRecordsDTO.setIdCard(idCard); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("查询高龄认证记录转换身份证号失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | IPage<ComElderAuthRecordVO> iPage = comElderAuthRecordsDAO.pageElderAuthRecords(page, pageElderAuthRecordsDTO); | 
|---|
|  |  |  | if (!iPage.getRecords().isEmpty()) { | 
|---|
|  |  |  | iPage.getRecords().forEach(comElderAuthRecordVO -> { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R export(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | //关键词为空时需要进行加密,通过加密去检索身份证号筛选高龄认证记录 | 
|---|
|  |  |  | String idCard = AESUtil.encrypt128(pageElderAuthRecordsDTO.getSearchKey(), aesKey); | 
|---|
|  |  |  | pageElderAuthRecordsDTO.setIdCard(idCard); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("查询高龄认证记录转换身份证号失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(comElderAuthRecordsDAO.export(pageElderAuthRecordsDTO)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R detailElderAuthRecords(Long authRecordId) { | 
|---|
|  |  |  | ComElderAuthRecordVO comElderAuthRecordVO = comElderAuthRecordsDAO.detailElderAuthRecords(authRecordId); | 
|---|
|  |  |  | comElderAuthRecordVO.setNextIds(comElderAuthRecordsDAO.getNextIds(comElderAuthRecordVO.getCommunityId(),authRecordId)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | comElderAuthRecordVO.setAge(IdcardUtil.getAgeByIdCard(comElderAuthRecordVO.getIdCard())); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("身份证转换失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(comElderAuthRecordVO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | comElderAuthRecordsDO.setApprovalDate(nowDate); | 
|---|
|  |  |  | if (comElderAuthRecordVO.getApprovalStatus().equals(ComElderAuthRecordsDO.approvalStatus.tg)) { | 
|---|
|  |  |  | comElderAuthRecordsDO.setAuthStatus(ComElderAuthRecordsDO.authStatus.yrz); | 
|---|
|  |  |  | sendAuthSubscribe(comElderAuthRecordsDO.getSubmitUserId(), "高龄认证", "认证成功!",comElderAuthRecordVO.getAreaCode()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | authElderliesDO.setAddress(comElderAuthRecordVO.getAddress()); | 
|---|
|  |  |  | comElderAuthElderliesDAO.updateById(authElderliesDO); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | sendAuthSubscribe(comElderAuthRecordsDO.getSubmitUserId(), "高龄认证", comElderAuthRecordVO.getRejectReason(),comElderAuthRecordVO.getAreaCode()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | comElderAuthRecordsDO.setApprovalDate(new Date()); | 
|---|
|  |  |  | //        comElderAuthRecordsDO.setApprovalDate(new Date()); | 
|---|
|  |  |  | int nub = comElderAuthRecordsDAO.updateById(comElderAuthRecordsDO); | 
|---|
|  |  |  | if (nub < 1) { | 
|---|
|  |  |  | return R.fail("审核失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private void sendAuthSubscribe(Long userId, String name, String result,String areaCode) { | 
|---|
|  |  |  | //发送订阅通知 | 
|---|
|  |  |  | Map<String, String> map = comActActSignDAO.getUserOpenId(userId); | 
|---|
|  |  |  | if (map != null) { | 
|---|
|  |  |  | String openid = map.get("openid"); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | WxXCXTempSend util = new WxXCXTempSend(); | 
|---|
|  |  |  | String accessToken = util.getAccessToken(); | 
|---|
|  |  |  | R<SysTemplateConfigVO> sysTemplateConfigVO=userService.selectTemplate(areaCode,5); | 
|---|
|  |  |  | WxUtil.sendSubscribeRZSH(openid, accessToken, name, | 
|---|
|  |  |  | DateUtils.format(new Date(), DateUtils.ymdhms_format), | 
|---|
|  |  |  | result,sysTemplateConfigVO.getData().getTemplateId()); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | log.error("推送审核状态订阅消息失败,失败原因:" + e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 
|---|
|  |  |  | List<ComElderAuthRecordsDO> saveList = new ArrayList<>(); | 
|---|
|  |  |  | // 需要修改的认证记录集合 | 
|---|
|  |  |  | List<ComElderAuthRecordsDO> updateList = new ArrayList<>(); | 
|---|
|  |  |  | //需要更新的老人信息 | 
|---|
|  |  |  | List<ComElderAuthElderliesDO> updateElderliesList = new ArrayList<>(); | 
|---|
|  |  |  | log.info("开始处理导入数据"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<ComElderAuthRecordImportMistakeExcelVO> mistakes = new ArrayList<>(); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | 
|---|
|  |  |  | }else if (comElderAuthRecordsDO.getApprovalStatus().equals(ComElderAuthRecordsDO.approvalStatus.dsh)) { | 
|---|
|  |  |  | comElderAuthRecordsDO = updateElderAuthRecordsDO(vo, comElderAuthRecordsDO,userId,communityId,nowDate); | 
|---|
|  |  |  | updateList.add(comElderAuthRecordsDO); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(StringUtils.isNotEmpty(vo.getAddress())){ | 
|---|
|  |  |  | comElderAuthElderliesDO.setAddress(vo.getAddress()); | 
|---|
|  |  |  | updateElderliesList.add(comElderAuthElderliesDO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | // 驳回状态,则新增 | 
|---|
|  |  |  | comElderAuthRecordsDO = saveElderAuthRecordsDO(vo, comElderAuthElderliesDO, authPeriod, userId,communityId,nowDate); | 
|---|
|  |  |  | saveList.add(comElderAuthRecordsDO); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(StringUtils.isNotEmpty(vo.getAddress())){ | 
|---|
|  |  |  | comElderAuthElderliesDO.setAddress(vo.getAddress()); | 
|---|
|  |  |  | updateElderliesList.add(comElderAuthElderliesDO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | // 不存在记录,则新增 | 
|---|
|  |  |  | comElderAuthRecordsDO = saveElderAuthRecordsDO(vo, comElderAuthElderliesDO, authPeriod, userId,communityId,nowDate); | 
|---|
|  |  |  | saveList.add(comElderAuthRecordsDO); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(StringUtils.isNotEmpty(vo.getAddress())){ | 
|---|
|  |  |  | comElderAuthElderliesDO.setAddress(vo.getAddress()); | 
|---|
|  |  |  | updateElderliesList.add(comElderAuthElderliesDO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | comElderAuthRecordsDAO.updateAll(updateList); | 
|---|
|  |  |  | log.info("数据库更新线下认证记录完成"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(!updateElderliesList.isEmpty()){ | 
|---|
|  |  |  | comElderAuthElderliesService.updateBatchById(updateElderliesList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | log.info("执行数据库导入完成"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!mistakes.isEmpty()) { | 
|---|
|  |  |  | 
|---|
|  |  |  | return R.ok(comElderAuthRecordStatisticExcleVOS); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 身份认证定时任务 | 
|---|
|  |  |  | * @return  执行结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional(rollbackFor = Exception.class) | 
|---|
|  |  |  | public R timedTaskElderAuthStatisticsJobHandler() { | 
|---|
|  |  |  | Date nowDate = new Date(); | 
|---|
|  |  |  | int month = DateUtils.getMonth(nowDate) + 1; | 
|---|
|  |  |  | int year = DateUtils.getYear(nowDate); | 
|---|
|  |  |  | //查询所有启用中社区 | 
|---|
|  |  |  | List<ComActDO> actList = comActDAO.selectList(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getState,0)); | 
|---|
|  |  |  | actList.forEach(act -> { | 
|---|
|  |  |  | //高龄认证统计本期应认证人数 | 
|---|
|  |  |  | ComEldersAuthStatisticsDO comEldersAuthStatisticsDO = new ComEldersAuthStatisticsDO(); | 
|---|
|  |  |  | comEldersAuthStatisticsDO.setCommunityId(act.getCommunityId()); | 
|---|
|  |  |  | comEldersAuthStatisticsDO.setMonth(month); | 
|---|
|  |  |  | comEldersAuthStatisticsDO.setYear(year); | 
|---|
|  |  |  | comEldersAuthStatisticsDO.setCreateAt(nowDate); | 
|---|
|  |  |  | List<ComElderAuthElderliesDO> comElderAuthElderliesDOS = comElderAuthElderliesDAO.selectList(new QueryWrapper<ComElderAuthElderliesDO>().lambda() | 
|---|
|  |  |  | .eq(ComElderAuthElderliesDO::getCommunityId, act.getCommunityId()) | 
|---|
|  |  |  | .eq(ComElderAuthElderliesDO::getIsAlive, 1) | 
|---|
|  |  |  | .eq(ComElderAuthElderliesDO::getIsRegister, 1)); | 
|---|
|  |  |  | if (null != comElderAuthElderliesDOS) { | 
|---|
|  |  |  | comEldersAuthStatisticsDO.setSum(comElderAuthElderliesDOS.size()); | 
|---|
|  |  |  | //查询高龄认证记录列表 | 
|---|
|  |  |  | List<ComElderAuthRecordsDO> authRecordsList = comElderAuthRecordsDAO.selectList(new QueryWrapper<ComElderAuthRecordsDO>().lambda() | 
|---|
|  |  |  | .eq(ComElderAuthRecordsDO::getAuthStatus,ComElderAuthRecordsDO.authStatus.yrz)); | 
|---|
|  |  |  | //遍历高龄认证记录列表 | 
|---|
|  |  |  | 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)){ | 
|---|
|  |  |  | //查询老人信息 | 
|---|
|  |  |  | ComElderAuthElderliesDO authElderliesDO = comElderAuthElderliesDAO.selectById(authRecords.getElderliesId()); | 
|---|
|  |  |  | if(authElderliesDO != null){ | 
|---|
|  |  |  | Long authId = authHistoryRecordDO.getId(); | 
|---|
|  |  |  | BeanUtils.copyProperties(authElderliesDO,authHistoryRecordDO); | 
|---|
|  |  |  | authHistoryRecordDO.setId(authId); | 
|---|
|  |  |  | authHistoryRecordDO.setBrithday(DateUtils.format(IdcardUtil.getBirthDate(authElderliesDO.getIdCard()),DateUtils.yyyyMMdd_format)); | 
|---|
|  |  |  | authHistoryRecordDO.setAge(IdcardUtil.getAgeByIdCard(authElderliesDO.getIdCard())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | //查询老人信息 | 
|---|
|  |  |  | ComElderAuthElderliesDO authElderliesDO = comElderAuthElderliesDAO.selectById(authRecords.getElderliesId()); | 
|---|
|  |  |  | if(authElderliesDO != null){ | 
|---|
|  |  |  | BeanUtils.copyProperties(authElderliesDO,authHistoryRecordDO); | 
|---|
|  |  |  | authHistoryRecordDO.setBrithday(DateUtils.format(IdcardUtil.getBirthDate(authElderliesDO.getIdCard()),DateUtils.yyyyMMdd_format)); | 
|---|
|  |  |  | authHistoryRecordDO.setAge(IdcardUtil.getAgeByIdCard(authElderliesDO.getIdCard())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | BeanUtils.copyProperties(authRecords,authHistoryRecordDO); | 
|---|
|  |  |  | authHistoryRecordDO.setAuthDate(authRecords.getApprovalDate()); | 
|---|
|  |  |  | authHistoryRecordDO.setMark(null); | 
|---|
|  |  |  | authHistoryRecordDO.setIsAuth(ComEldersAuthHistoryRecordDO.isAuth.yes); | 
|---|
|  |  |  | authHistoryRecordDO.setAuthId(authRecords.getId()); | 
|---|
|  |  |  | comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | comEldersAuthStatisticsMapper.insert(comEldersAuthStatisticsDO); | 
|---|
|  |  |  | //上期已认证人数 | 
|---|
|  |  |  | String authPeriod = ""; | 
|---|
|  |  |  | if (month < 10) { | 
|---|
|  |  |  | authPeriod = String.valueOf(year) + 0 + month; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | authPeriod = String.valueOf(year) + month; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查询养老认证记录列表 | 
|---|
|  |  |  | List<ComPensionAuthRecordDO> pensionAuthList = comPensionAuthRecordDAO.selectList(new QueryWrapper<ComPensionAuthRecordDO>().lambda() | 
|---|
|  |  |  | .eq(ComPensionAuthRecordDO::getAuthStatus,ComPensionAuthRecordDO.authStatus.rez)); | 
|---|
|  |  |  | //遍历养老认证记录列表 | 
|---|
|  |  |  | 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)){ | 
|---|
|  |  |  | //查询老人信息 | 
|---|
|  |  |  | ComPensionAuthPensionerDO authPensionerDO = comPensionAuthPensionerDAO.selectById(authRecords.getPensionerId()); | 
|---|
|  |  |  | if(authPensionerDO != null){ | 
|---|
|  |  |  | Long authId = pensionAuthDO.getId(); | 
|---|
|  |  |  | BeanUtils.copyProperties(authPensionerDO,pensionAuthDO); | 
|---|
|  |  |  | pensionAuthDO.setId(authId); | 
|---|
|  |  |  | pensionAuthDO.setBrithday(DateUtils.format(IdcardUtil.getBirthDate(authPensionerDO.getIdCard()),DateUtils.yyyyMMdd_format)); | 
|---|
|  |  |  | pensionAuthDO.setAge(IdcardUtil.getAgeByIdCard(authPensionerDO.getIdCard())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | //查询老人信息 | 
|---|
|  |  |  | ComPensionAuthPensionerDO authPensionerDO = comPensionAuthPensionerDAO.selectById(authRecords.getPensionerId()); | 
|---|
|  |  |  | if(authPensionerDO != null){ | 
|---|
|  |  |  | BeanUtils.copyProperties(authPensionerDO,pensionAuthDO); | 
|---|
|  |  |  | pensionAuthDO.setBrithday(DateUtils.format(IdcardUtil.getBirthDate(authPensionerDO.getIdCard()),DateUtils.yyyyMMdd_format)); | 
|---|
|  |  |  | pensionAuthDO.setAge(IdcardUtil.getAgeByIdCard(authPensionerDO.getIdCard())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | BeanUtils.copyProperties(authRecords,pensionAuthDO); | 
|---|
|  |  |  | pensionAuthDO.setAuthDate(authRecords.getApprovalDate()); | 
|---|
|  |  |  | pensionAuthDO.setMark(null); | 
|---|
|  |  |  | pensionAuthDO.setIsAuth(ComPensionAuthHistoryRecordDO.isAuth.yes); | 
|---|
|  |  |  | pensionAuthDO.setAuthId(authRecords.getId()); | 
|---|
|  |  |  | comPensionAuthHistoryRecordMapper.insert(pensionAuthDO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | int authSum = comElderAuthElderliesDAO.haveElderAuthElderliesAmount(act.getCommunityId(), authPeriod); | 
|---|
|  |  |  | ComEldersAuthStatisticsDO comEldersAuthStatisticsDO1 = comEldersAuthStatisticsMapper.selectOne(new QueryWrapper<ComEldersAuthStatisticsDO>() | 
|---|
|  |  |  | .lambda().eq(ComEldersAuthStatisticsDO::getCommunityId, act.getCommunityId()).eq(ComEldersAuthStatisticsDO::getYear, year) | 
|---|
|  |  |  | .eq(ComEldersAuthStatisticsDO::getMonth, month - 1)); | 
|---|
|  |  |  | comEldersAuthStatisticsDO1.setAuthSum(authSum); | 
|---|
|  |  |  | comEldersAuthStatisticsDO1.setNoAuthSum(comEldersAuthStatisticsDO1.getSum() - comEldersAuthStatisticsDO1.getAuthSum()); | 
|---|
|  |  |  | comEldersAuthStatisticsMapper.updateById(comEldersAuthStatisticsDO1); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | ,  ComElderAuthElderliesDO comElderAuthElderliesDO, String authPeriod, Long userId, Long communityId,Date date) { | 
|---|
|  |  |  | ComElderAuthRecordsDO comElderAuthRecordsDO = new ComElderAuthRecordsDO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(vo, comElderAuthRecordsDO); | 
|---|
|  |  |  | comElderAuthRecordsDO.setId(Snowflake.getId()); | 
|---|
|  |  |  | comElderAuthRecordsDO.setElderliesId(comElderAuthElderliesDO.getId()); | 
|---|
|  |  |  | comElderAuthRecordsDO.setAuthPeriod(authPeriod); | 
|---|
|  |  |  | comElderAuthRecordsDO.setSubmitUserId(userId); | 
|---|
|  |  |  | 
|---|
|  |  |  | if (this.baseMapper.insert(comElderAuthRecordsDO) < 0) { | 
|---|
|  |  |  | return R.fail("认证失败,请重新尝试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (addIdentityAuthDTO.getAuthMethod().intValue() == FACE_AUTH.getMethod()) { | 
|---|
|  |  |  | sendAuthSubscribe(addIdentityAuthDTO.getSubmitUserId(), "高龄认证", "认证成功!",addIdentityAuthDTO.getAreaCode()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | public R retrieveElderAuthDetail(Long identityAuthId) { | 
|---|
|  |  |  | return R.ok(comElderAuthRecordsDAO.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); | 
|---|
|  |  |  | ComElderAuthElderliesDO comElderAuthElderliesDO=comElderAuthElderliesDAO.selectOne(new QueryWrapper<ComElderAuthElderliesDO>().lambda().eq(ComElderAuthElderliesDO::getPopulationId,comMngPopulationDO.getId())); | 
|---|
|  |  |  | if(comElderAuthElderliesDO!=null){ | 
|---|
|  |  |  | Integer count=comElderAuthRecordsDAO.selectCount(new QueryWrapper<ComElderAuthRecordsDO>().lambda().eq(ComElderAuthRecordsDO::getElderliesId,comElderAuthElderliesDO.getId()).eq(ComElderAuthRecordsDO::getAuthPeriod,comElderAuthRecordVO.getAuthPeriod())); | 
|---|
|  |  |  | if(count==0){ | 
|---|
|  |  |  | ComElderAuthRecordsDO comElderAuthRecordsDO=new ComElderAuthRecordsDO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(comElderAuthRecordVO,comElderAuthRecordsDO); | 
|---|
|  |  |  | comElderAuthRecordsDO.setElderliesId(comElderAuthElderliesDO.getId()); | 
|---|
|  |  |  | comElderAuthRecordsDO.setApprovalStatus(PASS_THROUGH.getStatus()); | 
|---|
|  |  |  | comElderAuthRecordsDO.setApprovalDate(new Date()); | 
|---|
|  |  |  | comElderAuthRecordsDO.setAuthStatus(CERTIFIED.getStatus()); | 
|---|
|  |  |  | comElderAuthRecordsDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); | 
|---|
|  |  |  | comElderAuthRecordsDO.setApproverId(comElderAuthRecordVO.getSubmitUserId()); | 
|---|
|  |  |  | comElderAuthRecordsDO.setSubmitUserId(comElderAuthRecordVO.getSubmitUserId()); | 
|---|
|  |  |  | if (this.baseMapper.insert(comElderAuthRecordsDO) < 0) { | 
|---|
|  |  |  | return R.fail("认证失败,请重新尝试"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | comMngPopulationDO.setPhone(comElderAuthRecordVO.getPhone()); | 
|---|
|  |  |  | comMngPopulationDAO.updateById(comMngPopulationDO); | 
|---|
|  |  |  | comElderAuthElderliesDO.setAddress(comElderAuthRecordVO.getAddress()); | 
|---|
|  |  |  | comElderAuthElderliesDO.setPhone(comElderAuthRecordVO.getPhone()); | 
|---|
|  |  |  | comElderAuthElderliesDO.setIdCard(null); | 
|---|
|  |  |  | comElderAuthElderliesDAO.updateById(comElderAuthElderliesDO); | 
|---|
|  |  |  | ComPensionAuthPensionerDO comPensionAuthPensionerDO=comPensionAuthPensionerDAO.selectOne(new QueryWrapper<ComPensionAuthPensionerDO>().lambda().eq(ComPensionAuthPensionerDO::getPopulationId,comMngPopulationDO.getId())); | 
|---|
|  |  |  | if(comPensionAuthPensionerDO!=null){ | 
|---|
|  |  |  | comPensionAuthPensionerDO.setAddress(comElderAuthRecordVO.getAddress()); | 
|---|
|  |  |  | comPensionAuthPensionerDO.setPhone(comElderAuthRecordVO.getPhone()); | 
|---|
|  |  |  | comPensionAuthPensionerDO.setIdCard(null); | 
|---|
|  |  |  | comPensionAuthPensionerDAO.updateById(comPensionAuthPensionerDO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.fail("当前期数已认证,请勿重复认证"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.fail("无养老认证数据"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.fail("该身份证无实有人口信息"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.fail("身份证不能为空"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|