From b2fd10cc3d19e4d877bef57abf684a19100b6512 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期一, 28 八月 2023 16:55:06 +0800
Subject: [PATCH] 修改获取用户积分为0
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComElderAuthRecordsServiceImpl.java | 415 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 356 insertions(+), 59 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComElderAuthRecordsServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComElderAuthRecordsServiceImpl.java
index 66d4b57..7c7ea6a 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComElderAuthRecordsServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComElderAuthRecordsServiceImpl.java
@@ -1,35 +1,55 @@
package com.panzhihua.service_community.service.impl;
-import cn.hutool.core.util.IdcardUtil;
-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.google.common.base.Joiner;
-import com.panzhihua.common.constants.Constants;
-import com.panzhihua.common.enums.*;
-import com.panzhihua.common.model.dtos.community.PageElderAuthRecordsDTO;
-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.*;
-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 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.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.ComElderAuthRecordsService;
-import lombok.extern.slf4j.Slf4j;
+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 org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
-import javax.annotation.Resource;
-import java.util.*;
-import java.util.stream.Collectors;
+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.model.dtos.community.AddIdentityAuthDTO;
+import com.panzhihua.common.model.dtos.community.PageElderAuthRecordsDTO;
+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.StringUtils;
+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;
/**
* title: ComElderAuthRecordsServiceImpl 社区政务》高龄老人认证》认证记录表服务实现类
@@ -52,13 +72,25 @@
@Resource
private ComElderAuthRecordsService comElderAuthRecordsService;
@Resource
- private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper;
- @Resource
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) {
@@ -73,6 +105,15 @@
}
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 -> {
@@ -85,9 +126,26 @@
}
@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);
}
@@ -110,13 +168,37 @@
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());
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
@@ -153,12 +235,16 @@
List<ComElderAuthRecordsDO> saveList = new ArrayList<>();
// 需要修改的认证记录集合
List<ComElderAuthRecordsDO> updateList = new ArrayList<>();
+ //需要更新的老人信息
+ List<ComElderAuthElderliesDO> updateElderliesList = new ArrayList<>();
log.info("开始处理导入数据");
+
List<ComElderAuthRecordImportMistakeExcelVO> mistakes = new ArrayList<>();
try {
// 查询所有人口数据放入HashMap中
- List<ComMngPopulationDO> populationList = comMngPopulationDAO.selectList(null);
+// List<ComMngPopulationDO> populationList = comMngPopulationDAO.selectList(null);
+ List<ComMngPopulationDO> populationList = comMngPopulationDAO.selectListIds();
HashMap<String, Object> populationMap = new HashMap<>();
populationList.forEach(population -> {
String key = population.getCardNo();
@@ -213,15 +299,30 @@
}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);
+ }
}
}
}
@@ -252,6 +353,9 @@
comElderAuthRecordsDAO.updateAll(updateList);
log.info("数据库更新线下认证记录完成");
}
+ if(!updateElderliesList.isEmpty()){
+ comElderAuthElderliesService.updateBatchById(updateElderliesList);
+ }
log.info("执行数据库导入完成");
if (!mistakes.isEmpty()) {
@@ -274,42 +378,108 @@
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();
}
@@ -332,7 +502,6 @@
, 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);
@@ -360,4 +529,132 @@
return ObjectUtils.isEmpty(hashMap.get(key));
}
+ /**
+ * 新增高龄认证
+ * @param addIdentityAuthDTO 请求参数
+ * @return 新增结果
+ */
+ @Override
+ public R addElderAuth(AddIdentityAuthDTO addIdentityAuthDTO) {
+ String idCard;
+ try {
+ idCard = AESUtil.encrypt128(addIdentityAuthDTO.getIdCard(), aesKey);
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("加密失败【{}】", e.getMessage());
+ return R.fail("认证失败,请重新尝试");
+ }
+ ComElderAuthElderliesDO comElderAuthElderliesDO = comElderAuthElderliesDAO.selectOne(new QueryWrapper<ComElderAuthElderliesDO>()
+ .lambda().eq(ComElderAuthElderliesDO::getIdCard, idCard).eq(ComElderAuthElderliesDO::getCommunityId, addIdentityAuthDTO.getCommunityId()));
+ if (Objects.isNull(comElderAuthElderliesDO)) {
+ return R.fail("该人员未在社区报道无法认证");
+ }
+ boolean isInfoCorrect = !comElderAuthElderliesDO.getName().equals(addIdentityAuthDTO.getName()) ||
+ !(comElderAuthElderliesDO.getIsRegister().equals(1) && comElderAuthElderliesDO.getIsAlive().equals(1));
+ if (isInfoCorrect) {
+ return R.fail("信息有误,请检查!");
+ }
+ Date dateNow = new Date();
+ String currentAuthPeriod = new SimpleDateFormat("yyyyMM").format(dateNow);
+ List<ComElderAuthRecordsDO> currentAuthPeriodRecords = comElderAuthRecordsDAO
+ .selectList(new QueryWrapper<ComElderAuthRecordsDO>().lambda()
+ .eq(ComElderAuthRecordsDO::getAuthPeriod, currentAuthPeriod)
+ .eq(ComElderAuthRecordsDO::getElderliesId, comElderAuthElderliesDO.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("该人员本期有尚未审核的认证,请稍后再试!");
+ }
+ }
+ ComElderAuthRecordsDO comElderAuthRecordsDO = new ComElderAuthRecordsDO();
+ BeanUtils.copyProperties(addIdentityAuthDTO, comElderAuthRecordsDO);
+ comElderAuthRecordsDO.setElderliesId(comElderAuthElderliesDO.getId());
+ comElderAuthRecordsDO.setAuthDate(dateNow);
+ comElderAuthRecordsDO.setAuthPeriod(currentAuthPeriod);
+ if (addIdentityAuthDTO.getAuthMethod().intValue() == FACE_AUTH.getMethod()) {
+ comElderAuthRecordsDO.setApprovalStatus(PASS_THROUGH.getStatus());
+ comElderAuthRecordsDO.setApprovalDate(dateNow);
+ comElderAuthRecordsDO.setAuthStatus(CERTIFIED.getStatus());
+ }
+ if (this.baseMapper.insert(comElderAuthRecordsDO) < 0) {
+ return R.fail("认证失败,请重新尝试");
+ }
+ if (addIdentityAuthDTO.getAuthMethod().intValue() == FACE_AUTH.getMethod()) {
+ sendAuthSubscribe(addIdentityAuthDTO.getSubmitUserId(), "高龄认证", "认证成功!",addIdentityAuthDTO.getAreaCode());
+ }
+ return R.ok();
+ }
+
+ /**
+ * 分页查询高龄认证记录
+ * @param pageIdentityAuthRecordDTO 高龄认证记录vo
+ * @return 高龄认证记录列表
+ */
+ @Override
+ public R queryRecordWithPage(PageIdentityAuthRecordDTO pageIdentityAuthRecordDTO) {
+ return R.ok(comElderAuthRecordsDAO.queryRecordWithPage(new Page(pageIdentityAuthRecordDTO.getPageNum(),
+ pageIdentityAuthRecordDTO.getPageSize()), pageIdentityAuthRecordDTO));
+ }
+
+ /**
+ * 获取高龄认证详情
+ * @param identityAuthId 认证id
+ * @return 认证记录详情
+ */
+ @Override
+ 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("身份证不能为空");
+ }
}
--
Gitblit v1.7.1