From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 09 六月 2025 11:54:00 +0800
Subject: [PATCH] 6.9新增登录失败冻结逻辑

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComElderAuthRecordsServiceImpl.java |   78 +++++++++++++++++++++++++++++++++++---
 1 files changed, 71 insertions(+), 7 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 2df2d0a..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
@@ -15,6 +15,8 @@
 
 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.ComElderAuthElderliesService;
@@ -87,6 +89,8 @@
     private ComPensionAuthPensionerDAO comPensionAuthPensionerDAO;
     @Resource
     private ComElderAuthElderliesService comElderAuthElderliesService;
+    @Resource
+    private UserService userService;
 
     @Override
     public R pageElderAuthRecords(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) {
@@ -122,6 +126,18 @@
     }
 
     @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));
@@ -152,12 +168,12 @@
         comElderAuthRecordsDO.setApprovalDate(nowDate);
         if (comElderAuthRecordVO.getApprovalStatus().equals(ComElderAuthRecordsDO.approvalStatus.tg)) {
             comElderAuthRecordsDO.setAuthStatus(ComElderAuthRecordsDO.authStatus.yrz);
-            sendAuthSubscribe(comElderAuthRecordsDO.getSubmitUserId(), "高龄认证", "认证成功!");
+            sendAuthSubscribe(comElderAuthRecordsDO.getSubmitUserId(), "高龄认证", "认证成功!",comElderAuthRecordVO.getAreaCode());
 
             authElderliesDO.setAddress(comElderAuthRecordVO.getAddress());
             comElderAuthElderliesDAO.updateById(authElderliesDO);
         } else {
-            sendAuthSubscribe(comElderAuthRecordsDO.getSubmitUserId(), "高龄认证", comElderAuthRecordVO.getRejectReason());
+            sendAuthSubscribe(comElderAuthRecordsDO.getSubmitUserId(), "高龄认证", comElderAuthRecordVO.getRejectReason(),comElderAuthRecordVO.getAreaCode());
         }
 //        comElderAuthRecordsDO.setApprovalDate(new Date());
         int nub = comElderAuthRecordsDAO.updateById(comElderAuthRecordsDO);
@@ -167,17 +183,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());
             }
@@ -226,7 +243,8 @@
         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();
@@ -568,7 +586,7 @@
             return R.fail("认证失败,请重新尝试");
         }
         if (addIdentityAuthDTO.getAuthMethod().intValue() == FACE_AUTH.getMethod()) {
-            sendAuthSubscribe(addIdentityAuthDTO.getSubmitUserId(), "高龄认证", "认证成功!");
+            sendAuthSubscribe(addIdentityAuthDTO.getSubmitUserId(), "高龄认证", "认证成功!",addIdentityAuthDTO.getAreaCode());
         }
         return R.ok();
     }
@@ -593,4 +611,50 @@
     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