根据用户code,从用户缓存取数据。

roleService.getRoleAliases(user.getRoleId())前加非空判断
develop-QA
qinyulong 3 months ago
parent b2aa5fcd02
commit 24ed89e377
  1. 15
      blade-service-api/blade-user-api/src/main/java/org/springblade/system/cache/UserCache.java
  2. 2
      blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java

@ -33,9 +33,11 @@ import org.springblade.core.tool.utils.StringPool;
import org.springblade.core.tool.utils.StringUtil; import org.springblade.core.tool.utils.StringUtil;
import org.springblade.system.pojo.entity.User; import org.springblade.system.pojo.entity.User;
import org.springblade.system.feign.IUserClient; 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.cache.constant.CacheConstant.USER_CACHE;
import static org.springblade.core.launch.constant.FlowConstant.TASK_USR_PREFIX; 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 { public class UserCache {
private static final String USER_CACHE_ID = "user:id:"; 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 final String USER_CACHE_ACCOUNT = "user:account:";
private static IUserClient userClient; 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<UserInfo> result = getUserClient().userInfoByCode(code);
return result.getData();
});
}
} }

@ -275,7 +275,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
} }
UserInfo userInfo = new UserInfo(); UserInfo userInfo = new UserInfo();
userInfo.setUser(user); userInfo.setUser(user);
if (Func.isNotEmpty(user)) { if (Func.isNotEmpty(user) && StringUtil.isNotBlank(user.getRoleId())) {
List<String> roleAlias = roleService.getRoleAliases(user.getRoleId()); List<String> roleAlias = roleService.getRoleAliases(user.getRoleId());
if (!roleAlias.isEmpty()) { if (!roleAlias.isEmpty()) {
userInfo.setRoles(roleAlias); userInfo.setRoles(roleAlias);

Loading…
Cancel
Save