From 9aef366a4aa40f3188c5f21e4e6c0cc89af9bf16 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期四, 20 十月 2022 17:42:24 +0800
Subject: [PATCH] update
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java | 153 ++++++++++++++++++++++++++++++++++++--------------
1 files changed, 110 insertions(+), 43 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 585c71c..ab6d0ff 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
@@ -15,10 +15,12 @@
import javax.annotation.Resource;
-import cn.hutool.core.util.IdcardUtil;
-import com.panzhihua.common.utlis.WxUtil;
-import com.panzhihua.common.utlis.WxXCXTempSend;
-import com.panzhihua.service_community.dao.ComActActSignDAO;
+import com.panzhihua.common.model.vos.community.*;
+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.ComPensionAuthPensionerService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -30,7 +32,6 @@
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;
@@ -38,30 +39,14 @@
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.ComPensionAuthRecordExcleVO;
-import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportExcelVO;
-import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportMistakeExcelVO;
-import com.panzhihua.common.model.vos.community.ComPensionAuthRecordStatisticExcleVO;
-import com.panzhihua.common.model.vos.community.ComPensionAuthRecordVO;
-import com.panzhihua.common.model.vos.community.SysConfVO;
import com.panzhihua.common.utlis.AgeUtils;
import com.panzhihua.common.utlis.DateUtils;
-import com.panzhihua.common.utlis.Snowflake;
import com.panzhihua.common.utlis.StringUtils;
-import com.panzhihua.service_community.dao.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.common.utlis.WxUtil;
+import com.panzhihua.common.utlis.WxXCXTempSend;
import com.panzhihua.service_community.service.ComPensionAuthRecordService;
+import cn.hutool.core.util.IdcardUtil;
import lombok.extern.slf4j.Slf4j;
/**
@@ -92,6 +77,12 @@
private ComActActSignDAO comActActSignDAO;
@Value("${domain.aesKey:}")
private String aesKey;
+ @Resource
+ private ComPensionAuthPensionerService comPensionAuthPensionerService;
+ @Resource
+ private ComElderAuthElderliesDAO comElderAuthElderliesDAO;
+ @Resource
+ private UserService userService;
@Override
public R pagePensionAuthRecords(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) {
@@ -106,6 +97,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 -> {
@@ -135,12 +133,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(), "养老认证", "认证成功!");
+ sendAuthSubscribe(comPensionAuthRecordDO.getSubmitUserId(), "养老认证", "认证成功!", comPensionAuthRecordVO.getAreaCode());
+
+ authPensionerDO.setAddress(comPensionAuthRecordVO.getAddress());
+ comPensionAuthPensionerDAO.updateById(authPensionerDO);
} else {
- sendAuthSubscribe(comPensionAuthRecordDO.getSubmitUserId(), "养老认证", comPensionAuthRecordVO.getRejectReason());
+ sendAuthSubscribe(comPensionAuthRecordDO.getSubmitUserId(), "养老认证", comPensionAuthRecordVO.getRejectReason(),comPensionAuthRecordVO.getAreaCode());
}
comPensionAuthRecordDO.setApprovalDate(new Date());
int nub = comPensionAuthRecordDAO.updateById(comPensionAuthRecordDO);
@@ -150,17 +157,18 @@
return R.ok();
}
- private void sendAuthSubscribe(Long userId, String name, String result) {
+ 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.getAppAccessToken();
+ String accessToken = util.getAccessToken();
+ R<SysTemplateConfigVO> sysTemplateConfigVO=userService.selectTemplate(areaCode,5);
WxUtil.sendSubscribeRZSH(openid, accessToken, name,
DateUtils.format(new Date(), DateUtils.ymdhms_format),
- result);
+ result,sysTemplateConfigVO.getData().getTemplateId());
} catch (Exception e) {
log.error("推送审核状态订阅消息失败,失败原因:" + e.getMessage());
}
@@ -194,6 +202,8 @@
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<>();
@@ -253,15 +263,30 @@
//存在待审核记录,进行更新认证信息
comPensionAuthRecordDO = updatePensionAuthRecordsDO(vo, comPensionAuthRecordDO, userId,communityId,nowDate);
updateList.add(comPensionAuthRecordDO);
+
+ if(StringUtils.isNotEmpty(vo.getAddress())){
+ comPensionAuthPensionerDO.setAddress(vo.getAddress());
+ updatePensionerList.add(comPensionAuthPensionerDO);
+ }
}else {
// 不存在记录,则新增
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,communityId,nowDate);
saveList.add(comPensionAuthRecordDO);
+
+ if(StringUtils.isNotEmpty(vo.getAddress())){
+ comPensionAuthPensionerDO.setAddress(vo.getAddress());
+ updatePensionerList.add(comPensionAuthPensionerDO);
+ }
}
}
}
@@ -290,6 +315,9 @@
log.info("执行数据库更新线下认证记录");
comPensionAuthRecordDAO.updateAll(updateList);
log.info("数据库更新线下认证记录完成");
+ }
+ if(!updatePensionerList.isEmpty()){
+ comPensionAuthPensionerService.updateBatchById(updatePensionerList);
}
log.info("执行数据库导入完成");
@@ -375,14 +403,9 @@
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();
}
@@ -404,7 +427,6 @@
, 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);
@@ -459,16 +481,15 @@
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();
@@ -479,8 +500,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);
@@ -490,7 +511,7 @@
return R.fail("认证失败,请重新尝试");
}
if (addIdentityAuthDTO.getAuthMethod().intValue() == FACE_AUTH.getMethod()) {
- sendAuthSubscribe(comPensionAuthRecordDO.getSubmitUserId(), "养老认证", "认证成功!");
+ sendAuthSubscribe(comPensionAuthRecordDO.getSubmitUserId(), "养老认证", "认证成功!", addIdentityAuthDTO.getAreaCode());
}
return R.ok();
}
@@ -515,4 +536,50 @@
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());
+ comPensionAuthRecordDO.setApproverId(comElderAuthRecordVO.getSubmitUserId());
+ if (this.baseMapper.insert(comPensionAuthRecordDO) < 0) {
+ return R.fail("认证失败,请重新尝试");
+ }
+ comMngPopulationDO.setPhone(comElderAuthRecordVO.getPhone());
+ comMngPopulationDAO.updateById(comMngPopulationDO);
+ comPensionAuthPensionerDO.setAddress(comElderAuthRecordVO.getAddress());
+ comPensionAuthPensionerDO.setPhone(comElderAuthRecordVO.getPhone());
+ comPensionAuthPensionerDO.setIdCard(null);
+ comPensionAuthPensionerDAO.updateById(comPensionAuthPensionerDO);
+ ComElderAuthElderliesDO comElderAuthElderliesDO=comElderAuthElderliesDAO.selectOne(new QueryWrapper<ComElderAuthElderliesDO>().lambda().eq(ComElderAuthElderliesDO::getPopulationId,comMngPopulationDO.getId()));
+ if(comElderAuthElderliesDO!=null){
+ comElderAuthElderliesDO.setAddress(comElderAuthRecordVO.getAddress());
+ comElderAuthElderliesDO.setPhone(comElderAuthRecordVO.getPhone());
+ comElderAuthElderliesDO.setIdCard(null);
+ comElderAuthElderliesDAO.updateById(comElderAuthElderliesDO);
+ }
+ return R.ok();
+ }
+ return R.fail("当前期数已认证,请勿重复认证");
+ }
+ return R.fail("无养老认证数据");
+ }
+ return R.fail("该身份证无实有人口信息");
+ }
+ return R.fail("身份证不能为空");
+ }
}
--
Gitblit v1.7.1