张天森
2022-10-12 3c884ccd7b51edf3b36840bf99de5edaa41a38a7
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());
            }
@@ -568,7 +585,7 @@
            return R.fail("认证失败,请重新尝试");
        }
        if (addIdentityAuthDTO.getAuthMethod().intValue() == FACE_AUTH.getMethod()) {
            sendAuthSubscribe(addIdentityAuthDTO.getSubmitUserId(), "高龄认证", "认证成功!");
            sendAuthSubscribe(addIdentityAuthDTO.getSubmitUserId(), "高龄认证", "认证成功!",addIdentityAuthDTO.getAreaCode());
        }
        return R.ok();
    }
@@ -606,13 +623,29 @@
                    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("当前期数已认证,请勿重复认证");