diff --git a/blade-service-api/blade-user-api/src/main/java/org/springblade/system/cache/UserCache.java b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/cache/UserCache.java index a0c0ac2f..19a9ff5b 100644 --- a/blade-service-api/blade-user-api/src/main/java/org/springblade/system/cache/UserCache.java +++ b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/cache/UserCache.java @@ -33,9 +33,11 @@ import org.springblade.core.tool.utils.StringPool; import org.springblade.core.tool.utils.StringUtil; import org.springblade.system.pojo.entity.User; import org.springblade.system.feign.IUserClient; +import org.springblade.system.pojo.entity.UserInfo; import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE; import static org.springblade.core.launch.constant.FlowConstant.TASK_USR_PREFIX; +import static org.springblade.system.feign.IUserClient.USER_BY_CODE; /** * 系统缓存 @@ -44,6 +46,7 @@ import static org.springblade.core.launch.constant.FlowConstant.TASK_USR_PREFIX; */ public class UserCache { private static final String USER_CACHE_ID = "user:id:"; + private static final String USER_CACHE_CODE = "user:code:"; private static final String USER_CACHE_ACCOUNT = "user:account:"; private static IUserClient userClient; @@ -93,4 +96,16 @@ public class UserCache { }); } + /** + * 获取用户 + * + * @return + */ + public static UserInfo getUserByCode(String code) { + return CacheUtil.get(USER_CACHE, USER_CACHE_CODE, code, () -> { + R result = getUserClient().userInfoByCode(code); + return result.getData(); + }); + } + } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java index beddb1c8..c4458832 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java @@ -275,7 +275,7 @@ public class UserServiceImpl extends BaseServiceImpl implement } UserInfo userInfo = new UserInfo(); userInfo.setUser(user); - if (Func.isNotEmpty(user)) { + if (Func.isNotEmpty(user) && StringUtil.isNotBlank(user.getRoleId())) { List roleAlias = roleService.getRoleAliases(user.getRoleId()); if (!roleAlias.isEmpty()) { userInfo.setRoles(roleAlias);