From 978915a43878ae4e9166a54596a2f1ad4433adbc Mon Sep 17 00:00:00 2001
From: dd <gitluke@outlook.com>
Date: Thu, 16 Oct 2025 23:39:02 +0800
Subject: [PATCH] 1

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java |  101 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 90 insertions(+), 11 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 9f10557..82260ea 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
@@ -17,6 +17,7 @@
 import com.ruoyi.system.domain.dto.UserPolicyDto;
 import com.ruoyi.system.mapper.UserKycMapper;
 import com.ruoyi.system.service.UserAccountService;
+import org.apache.catalina.User;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -25,6 +26,7 @@
 import javax.validation.Valid;
 import java.util.Date;
 import java.util.List;
+import java.util.Optional;
 
 @RestController
 @RequestMapping("/kyc")
@@ -60,6 +62,8 @@
                 userKyc.setHeadPortraitImg(dto.getHeadPortraitImg());
                 userKyc.setNationalEmblemImg(dto.getNationalEmblemImg());
                 userKyc.setHandImg(dto.getHandImg());
+                userKyc.setName(dto.getName());
+                userKyc.setIdCard(dto.getIdCard());
                 userKycService.save(userKyc);
             }else{
                 if(userKyc.getState() == 0){
@@ -69,6 +73,8 @@
                 userKyc.setHeadPortraitImg(dto.getHeadPortraitImg());
                 userKyc.setNationalEmblemImg(dto.getNationalEmblemImg());
                 userKyc.setHandImg(dto.getHandImg());
+                userKyc.setName(dto.getName());
+                userKyc.setIdCard(dto.getIdCard());
                 userKycService.updateById(userKyc);
             }
             userAccount.setKycStatus(0);
@@ -101,14 +107,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();
             // 手动设置回滚
@@ -118,11 +142,11 @@
     }
 
     /**
-     * 什么认证列表
+     * 实名认证列表
      */
     @GetMapping("/list")
     public TableDataInfo list(@RequestParam(value = "account",required = false) String account,
-                              @RequestParam(value = "state",required = false) Integer state
+                              @RequestParam(value = "state",defaultValue = "0") Integer state
 
     ) {
         startPage();
@@ -130,12 +154,67 @@
         if(StringUtils.isNotEmpty(account)){
             wrapper.eq(UserKyc::getAccount,account);
         }
-        if(state != null){
+        if(state != null && state != 3){
             wrapper.eq(UserKyc::getState,state);
+        }else if(state == 3){
+            wrapper.ne(UserKyc::getState,0);
         }
         // 按创建时间倒序排列
         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("提交失败");
+        }
+    }
+
+
+    /**
+     * 根据账户查询实名认证信息
+     */
+    @GetMapping("/getByAccount")
+    public Result getByAccount(@RequestParam(value = "account") String account) {
+        LambdaQueryWrapper<UserKyc> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(UserKyc::getAccount,account);
+        // 按创建时间倒序排列
+        wrapper.orderByDesc(UserKyc::getCreatedAt);
+
+        // 查询用户KYC信息
+        UserKyc userKyc = userKycService.getOne(new LambdaQueryWrapper<UserKyc>()
+                .eq(UserKyc::getAccount, account));
+        // 如果KYC信息存在,补充昵称信息
+        UserAccount userAccount = userAccountService.getOne(new LambdaQueryWrapper<UserAccount>()
+                .eq(UserAccount::getAccount, account));
+        // 如果KYC信息不存在,创建空实体
+        if (ObjectUtil.isEmpty(userKyc)) {
+            userKyc = new UserKyc();
+        }
+        if (StringUtils.isNotEmpty(userAccount.getNickname())) {
+            userKyc.setNickName(userAccount.getNickname());
+            userKyc.setPhone(userAccount.getAccount());
+        }
+
+        return Result.success(userKyc);
+    }
 }

--
Gitblit v1.9.3