From d1992befcf7c1c850af0e7174200617aa197476d Mon Sep 17 00:00:00 2001
From: manailin <261030956@qq.com>
Date: 星期三, 13 十月 2021 11:23:59 +0800
Subject: [PATCH] [修改]将com_act_questnaire_sub 表的大写字母全部改为小写字母
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComElderAuthRecordsServiceImpl.java | 251 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 189 insertions(+), 62 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 8a85626..2df2d0a 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,19 +1,23 @@
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.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;
@@ -24,39 +28,26 @@
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 社区政务》高龄老人认证》认证记录表服务实现类
@@ -79,13 +70,23 @@
@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;
@Override
public R pageElderAuthRecords(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) {
@@ -100,6 +101,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 -> {
@@ -115,6 +125,11 @@
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);
}
@@ -137,13 +152,36 @@
comElderAuthRecordsDO.setApprovalDate(nowDate);
if (comElderAuthRecordVO.getApprovalStatus().equals(ComElderAuthRecordsDO.approvalStatus.tg)) {
comElderAuthRecordsDO.setAuthStatus(ComElderAuthRecordsDO.authStatus.yrz);
+ sendAuthSubscribe(comElderAuthRecordsDO.getSubmitUserId(), "高龄认证", "认证成功!");
+
+ authElderliesDO.setAddress(comElderAuthRecordVO.getAddress());
+ comElderAuthElderliesDAO.updateById(authElderliesDO);
+ } else {
+ sendAuthSubscribe(comElderAuthRecordsDO.getSubmitUserId(), "高龄认证", comElderAuthRecordVO.getRejectReason());
}
- 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) {
+ //发送订阅通知
+ 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
@@ -180,7 +218,10 @@
List<ComElderAuthRecordsDO> saveList = new ArrayList<>();
// 需要修改的认证记录集合
List<ComElderAuthRecordsDO> updateList = new ArrayList<>();
+ //需要更新的老人信息
+ List<ComElderAuthElderliesDO> updateElderliesList = new ArrayList<>();
log.info("开始处理导入数据");
+
List<ComElderAuthRecordImportMistakeExcelVO> mistakes = new ArrayList<>();
try {
@@ -240,15 +281,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);
+ }
}
}
}
@@ -279,6 +335,9 @@
comElderAuthRecordsDAO.updateAll(updateList);
log.info("数据库更新线下认证记录完成");
}
+ if(!updateElderliesList.isEmpty()){
+ comElderAuthElderliesService.updateBatchById(updateElderliesList);
+ }
log.info("执行数据库导入完成");
if (!mistakes.isEmpty()) {
@@ -301,42 +360,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();
}
@@ -359,7 +484,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);
@@ -443,6 +567,9 @@
if (this.baseMapper.insert(comElderAuthRecordsDO) < 0) {
return R.fail("认证失败,请重新尝试");
}
+ if (addIdentityAuthDTO.getAuthMethod().intValue() == FACE_AUTH.getMethod()) {
+ sendAuthSubscribe(addIdentityAuthDTO.getSubmitUserId(), "高龄认证", "认证成功!");
+ }
return R.ok();
}
--
Gitblit v1.7.1