[fix] 修复接口对外开放可能引起的循环引用问题

This commit is contained in:
hsdllcw
2024-08-23 10:14:34 +08:00
parent dcbb745d59
commit 1204c39917
3 changed files with 22 additions and 3 deletions

View File

@@ -29,8 +29,8 @@ public interface RemoteUserService
* @param source 请求来源 * @param source 请求来源
* @return 结果 * @return 结果
*/ */
@GetMapping("/user/{userId}") @GetMapping("/detail/{userId}")
public R<LoginUser> getInfo(@PathVariable("userId") Long userId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); public R<LoginUser> infoById(@PathVariable("userId") Long userId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/** /**
* 通过用户名查询用户信息 * 通过用户名查询用户信息
* *

View File

@@ -26,7 +26,7 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
return new RemoteUserService() return new RemoteUserService()
{ {
@Override @Override
public R<LoginUser> getInfo(Long userId, String source) public R<LoginUser> infoById(Long userId, String source)
{ {
return R.fail("获取用户失败:" + throwable.getMessage()); return R.fail("获取用户失败:" + throwable.getMessage());
} }

View File

@@ -153,6 +153,25 @@ public class SysUserController extends BaseController
return R.ok(sysUserVo); return R.ok(sysUserVo);
} }
/**
* 根据ID获取用户信息
*/
@InnerAuth
@GetMapping("/detail/{userId}")
public R<LoginUser> infoById(@PathVariable("userId") Long userId)
{
SysUser sysUser = userService.selectUserById(userId);
// 角色集合
Set<String> roles = permissionService.getRolePermission(sysUser);
// 权限集合
Set<String> permissions = permissionService.getMenuPermission(sysUser);
LoginUser sysUserVo = new LoginUser();
sysUserVo.setSysUser(sysUser);
sysUserVo.setRoles(roles);
sysUserVo.setPermissions(permissions);
return R.ok(sysUserVo);
}
/** /**
* 注册用户信息 * 注册用户信息
*/ */