From 9437600612eb0243a3371ff1e4fa3689cce8c83a Mon Sep 17 00:00:00 2001
From: dd <gitluke@outlook.com>
Date: Sat, 29 Nov 2025 22:40:41 +0800
Subject: [PATCH] 1

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/user/UserController.java |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/user/UserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/user/UserController.java
index c639b9f..739d358 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/user/UserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/user/UserController.java
@@ -60,6 +60,22 @@
         // 创建查询条件包装器
         LambdaQueryWrapper<UserAccount> queryWrapper = new LambdaQueryWrapper<>();
 
+
+        LambdaQueryWrapper<UserPolicy> userPolicyWrapper = new LambdaQueryWrapper<>();
+        userPolicyWrapper
+                .eq(UserPolicy::getApprovalStatus, 1)
+                .eq(UserPolicy::getPayStatus,2)
+                .select(UserPolicy::getUserId);
+        List<UserPolicy> userPolicies = userPolicyService.list(userPolicyWrapper);
+        List<Integer> userIds = userPolicies.stream()
+                .map(UserPolicy::getUserId)
+                .collect(Collectors.toList());
+        if(null != vo.getActivate() && vo.getActivate()){
+            queryWrapper.in(UserAccount::getId,userIds);
+        }else if(null != vo.getActivate() && !vo.getActivate()){
+            queryWrapper.notIn(UserAccount::getId,userIds);
+        }
+
         if (ObjectUtil.isNotEmpty(vo.getKeywords())) {
             String keywords = vo.getKeywords().trim();
             if (StringUtils.isNotEmpty(keywords)) {
@@ -390,10 +406,10 @@
                     return AjaxResult.error("手机号格式不正确!");
                 }
             }
-            if(StringUtils.isNotEmpty(vo.getPassword()) && StringUtils.isEmpty(vo.getOldPassword())){
+            if(null == vo.getStatus() && StringUtils.isNotEmpty(vo.getPassword()) && StringUtils.isEmpty(vo.getOldPassword())){
                 return AjaxResult.error("旧密码不能为空!");
             }
-            if(StringUtils.isNotEmpty(vo.getPassword())){
+            if(null == vo.getStatus() && StringUtils.isNotEmpty(vo.getPassword())){
                 String s = SymmetricCryptoUtil.decryptPassword(userAccount.getPassword());
                 if(!vo.getOldPassword().equals(s)){
                     return AjaxResult.error("旧密码不正确!");

--
Gitblit v1.9.3