|
|
@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.xunmei.common.core.constant.CacheConstants;
|
|
|
import com.xunmei.common.core.constant.ErrorMsgConstants;
|
|
|
import com.xunmei.common.core.constant.SecurityConstants;
|
|
|
import com.xunmei.common.core.domain.edu.dto.SysLearningMaterialsPageDto;
|
|
|
@@ -39,6 +40,7 @@ import com.xunmei.system.api.RemoteOrgService;
|
|
|
import com.xunmei.system.api.RemoteRoleService;
|
|
|
import com.xunmei.system.api.RemoteUserService;
|
|
|
import com.xunmei.system.api.domain.SysOrg;
|
|
|
+import com.xunmei.system.api.domain.SysRole;
|
|
|
import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
@@ -111,9 +113,13 @@ public class PanelServiceImpl implements PanelService {
|
|
|
ErrorMsgConstants.QUERY_USER_ROLE_ERROR);*/
|
|
|
List<Long> roleIds = null;
|
|
|
if (ObjectUtil.equal(SecurityUtils.getUserId(), userId)) {
|
|
|
- Set<String> roles = SecurityUtils.getLoginUser().getRoles();
|
|
|
- //获取roles id 集合
|
|
|
- roleIds = roles.stream().map(Long::valueOf).collect(Collectors.toList());
|
|
|
+ String cacheKey= CacheConstants.USER_CACHE_ROLE_OBJECT_KEY+userId.toString();
|
|
|
+ if(RedisUtils.hasKey(cacheKey))
|
|
|
+ {
|
|
|
+ List<SysRole> roles = RedisUtils.getCacheObject(cacheKey);
|
|
|
+ //roles 获取id集合
|
|
|
+ roleIds = roles.stream().map(SysRole::getId).collect(Collectors.toList());
|
|
|
+ }
|
|
|
} else {
|
|
|
roleIds = RemoteCallHandlerExecutor.executeRemoteCall(
|
|
|
() -> roleService.getUserRoleId(userId, SecurityConstants.FROM_SOURCE),
|