From cfe049492f81d2c650a2b17348593edbc5054498 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期三, 18 三月 2026 07:52:44 +0800
Subject: [PATCH] #3.5

---
 rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/UserServiceImpl.java |   23 ++++++++++++++++++-----
 1 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/UserServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/UserServiceImpl.java
index dea12b4..e69a7ef 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/UserServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/UserServiceImpl.java
@@ -5,15 +5,17 @@
 import com.vincent.rsf.server.common.domain.BaseParam;
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.common.domain.PageResult;
+import com.vincent.rsf.server.system.entity.Role;
 import com.vincent.rsf.server.system.entity.User;
 import com.vincent.rsf.server.system.mapper.UserMapper;
 import com.vincent.rsf.server.system.service.RoleMenuService;
 import com.vincent.rsf.server.system.service.UserRoleService;
 import com.vincent.rsf.server.system.service.UserService;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
+import java.util.List;
 
 @Service("userService")
 public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@@ -23,7 +25,7 @@
     @Resource
     private RoleMenuService roleMenuService;
     @Resource
-    private BCryptPasswordEncoder bCryptPasswordEncoder;
+    private PasswordEncoder passwordEncoder;
 
     @Override
     public PageResult<User> pageRel(PageParam<User, BaseParam> pageParam) {
@@ -56,13 +58,23 @@
     }
 
     @Override
+    public User fillRoleIdsForResponse(User user) {
+        if (user == null || user.getId() == null) {
+            return user;
+        }
+        List<Role> roles = userRoleService.listByUserId(user.getId());
+        user.setRoleIds(roles.stream().map(Role::getId).toArray(Long[]::new));
+        return user;
+    }
+
+    @Override
     public boolean comparePassword(String dbPassword, String inputPassword) {
-        return bCryptPasswordEncoder.matches(inputPassword, dbPassword);
+        return passwordEncoder.matches(inputPassword, dbPassword);
     }
 
     @Override
     public String encodePassword(String password) {
-        return password == null ? null : bCryptPasswordEncoder.encode(password);
+        return password == null ? null : passwordEncoder.encode(password);
     }
 
     @Override
@@ -71,3 +83,4 @@
     }
 
 }
+

--
Gitblit v1.9.1