From 8dcc757d17dd3bed804167a0aa640a978f10022c Mon Sep 17 00:00:00 2001
From: dd <gitluke@outlook.com>
Date: Tue, 21 Oct 2025 01:23:43 +0800
Subject: [PATCH] 1

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java |   86 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 77 insertions(+), 9 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java
index 82ba300..7d261b6 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java
+++ b/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);
+    }
 }

--
Gitblit v1.9.3