1
dd
2025-10-21 8dcc757d17dd3bed804167a0aa640a978f10022c
ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java
@@ -1,6 +1,8 @@
package com.ruoyi.web.controller.product;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.crypto.Mode;
import cn.hutool.crypto.Padding;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -9,6 +11,7 @@
import com.ruoyi.im.comm.Result;
import com.ruoyi.im.service.UserKycService;
import com.ruoyi.im.service.impl.UserKycServiceImpl;
import com.ruoyi.im.util.SymmetricCryptoUtil;
import com.ruoyi.system.domain.InsurancePosition;
import com.ruoyi.system.domain.UserAccount;
import com.ruoyi.system.domain.UserKyc;
@@ -107,14 +110,32 @@
            if(approvalStatus == 2 && StringUtils.isEmpty(message)){
                return AjaxResult.error("驳回理由不能为空!");
            }
            userKyc.setState(approvalStatus);
            userKyc.setMessage(message);
            userKyc.setUpdatedAt(new Date());
            userKycService.updateById(userKyc);
            UserAccount userAccount = userAccountService.getById(userKyc.getUserId());
            userAccount.setKycStatus(approvalStatus);
            userAccountService.updateById(userAccount);
            return AjaxResult.success("审批成功");
            if(approvalStatus == 2){
                userKyc.setState(approvalStatus);
                userKyc.setMessage(message);
                userKyc.setUpdatedAt(new Date());
                userKyc.setHeadPortraitImg(null);
                userKyc.setNationalEmblemImg(null);
                userKyc.setHandImg(null);
                userKyc.setName(null);
                userKyc.setIdCard(null);
                userKycService.updateById(userKyc);
                userKycService.updateById(userKyc);
                UserAccount userAccount = userAccountService.getById(userKyc.getUserId());
                userAccount.setKycStatus(approvalStatus);
                userAccountService.updateById(userAccount);
                return AjaxResult.success("审批成功");
            }else{
                userKyc.setState(approvalStatus);
                userKyc.setMessage(message);
                userKyc.setUpdatedAt(new Date());
                userKycService.updateById(userKyc);
                UserAccount userAccount = userAccountService.getById(userKyc.getUserId());
                userAccount.setKycStatus(approvalStatus);
                userAccountService.updateById(userAccount);
                return AjaxResult.success("审批成功");
            }
        }catch (Exception e){
            e.printStackTrace();
            // 手动设置回滚
@@ -124,7 +145,7 @@
    }
    /**
     * 什么认证列表
     * 实名认证列表
     */
    @GetMapping("/list")
    public TableDataInfo list(@RequestParam(value = "account",required = false) String account,
@@ -145,6 +166,30 @@
        wrapper.orderByDesc(UserKyc::getCreatedAt);
        List<UserKyc> list = userKycService.list(wrapper);
        return getDataTable(list);
    }
    /**
     * 实名认证后台修改
     */
    @PostMapping("/updateKyc")
    @Transactional
    public Result updateKyc(UserKycDto dto) {
        try {
            UserKyc userKyc = userKycService.getById(dto.getId());
            if(ObjectUtil.isEmpty(userKyc)){
                return Result.error("用户数据不存在!");
            }else{
                userKyc.setName(dto.getName());
                userKyc.setIdCard(dto.getIdCard());
                userKycService.updateById(userKyc);
            }
            return Result.success("修改成功!");
        }catch (Exception e){
            e.printStackTrace();
            // 手动设置回滚
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return Result.error("提交失败");
        }
    }
@@ -170,7 +215,30 @@
        }
        if (StringUtils.isNotEmpty(userAccount.getNickname())) {
            userKyc.setNickName(userAccount.getNickname());
            userKyc.setPhone(userAccount.getAccount());
        }
        return Result.success(userKyc);
    }
    /**
     * 获取用户明文密码
     */
    @GetMapping("/getAccountPassword")
    @Transactional
    public AjaxResult getAccountPassword(@RequestParam(value = "account",required = false) String account) {
        if(ObjectUtil.isEmpty(account)){
            return AjaxResult.error("请输入查询账号!");
        }
        UserAccount userAccount = userAccountService.getOne(new LambdaQueryWrapper<>(UserAccount.class)
                .eq(UserAccount::getAccount, account)
        );
        if(ObjectUtil.isEmpty(userAccount)){
            return AjaxResult.error("用户不存在!");
        }
        String password = SymmetricCryptoUtil.decryptFromString(userAccount.getPassword(), Mode.CBC, Padding.ZeroPadding);
        return AjaxResult.success(password);
    }
}