From 1b2521712cb7feb1b15e3e36bd1509acf69cfea8 Mon Sep 17 00:00:00 2001 From: duandazhi Date: Tue, 7 Sep 2021 10:14:37 +0800 Subject: [PATCH] =?UTF-8?q?RemoteUserService=20add=20getUserById=E6=96=B9?= =?UTF-8?q?=E6=B3=95=20=EF=BC=88=E9=A1=B9=E7=9B=AE=E4=B8=AD=E6=9C=89?= =?UTF-8?q?=E9=9C=80=E8=A6=81=20=E9=80=9A=E8=BF=87=E5=86=85=E9=83=A8?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=20user=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=9A=84=E9=9C=80=E6=B1=82=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/system/api/RemoteUserService.java | 18 ++++++++++++------ .../api/factory/RemoteUserFallbackFactory.java | 8 +++++++- .../system/controller/SysUserController.java | 17 +++++++++++++++-- 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java index e7fe34c5..0e1a4160 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java @@ -1,11 +1,7 @@ package com.ruoyi.system.api; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.*; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; @@ -15,7 +11,7 @@ import com.ruoyi.system.api.model.LoginUser; /** * 用户服务 - * + * * @author ruoyi */ @FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class) @@ -40,4 +36,14 @@ public interface RemoteUserService */ @PostMapping("/user/register") public R registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + + /** + * 根据userId获取用户信息 + * @param userId 用户id,必填; + * @param source 可选,header参数。 取值:{@link SecurityConstants#INNER} + * @return 用户基础信息 + */ + @GetMapping(value = "/user/getUserById") + public R getUserById(@RequestParam(value = "userId") Long userId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java index 8fd6c677..9c220237 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java @@ -11,7 +11,7 @@ import com.ruoyi.system.api.model.LoginUser; /** * 用户服务降级处理 - * + * * @author ruoyi */ @Component @@ -36,6 +36,12 @@ public class RemoteUserFallbackFactory implements FallbackFactory getUserById(Long userId, String source) + { + return R.fail("获取用户信息失败:" + throwable.getMessage()); + } }; } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index ce736109..03f35593 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -40,7 +40,7 @@ import com.ruoyi.system.service.ISysUserService; /** * 用户信息 - * + * * @author ruoyi */ @RestController @@ -147,7 +147,7 @@ public class SysUserController extends BaseController /** * 获取用户信息 - * + * * @return 用户信息 */ @GetMapping("getInfo") @@ -303,4 +303,17 @@ public class SysUserController extends BaseController userService.insertUserAuth(userId, roleIds); return success(); } + + /** + * 根据用户编号获取用户基础信息(不包含权限信息、不含授权,用于内部调用) + */ + @InnerAuth + @GetMapping(value = "getUserById") + public R getUserById(Long userId) + { + if (userId == null) { + return R.fail("getUserById:getUserId不能为空!"); + } + return R.ok(userService.selectUserById(userId), "获取用户信息成功"); + } }