feat:(REQ-3282) 查询用户权限,支持新旧featureCode兼容

This commit is contained in:
李龙 2024-12-19 16:17:45 +08:00
parent 057a8f6710
commit 19f16a5d7f

View File

@ -10,6 +10,7 @@ import cn.axzo.tyr.server.service.ProductPermissionCacheService;
import cn.axzo.tyr.server.service.RolePermissionCacheService; import cn.axzo.tyr.server.service.RolePermissionCacheService;
import cn.axzo.tyr.server.service.SaasFeatureResourceService; import cn.axzo.tyr.server.service.SaasFeatureResourceService;
import cn.axzo.tyr.server.service.WorkspaceProductService; import cn.axzo.tyr.server.service.WorkspaceProductService;
import cn.axzo.tyr.server.util.FeatureCodeUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -37,6 +38,8 @@ public class PermissionServiceImpl implements PermissionService {
private WorkspaceProductService workspaceProductService; private WorkspaceProductService workspaceProductService;
@Autowired @Autowired
private SaasFeatureResourceService saasFeatureResourceService; private SaasFeatureResourceService saasFeatureResourceService;
@Autowired
private FeatureCodeUtil featureCodeUtil;
/** /**
* 1查询用户的角色 * 1查询用户的角色
@ -57,6 +60,10 @@ public class PermissionServiceImpl implements PermissionService {
return Collections.emptyList(); return Collections.emptyList();
} }
// 为了兼容新旧featureCode这里根据featureCode去查询新旧featureCode的映射把新旧featureCode都组装起
Set<String> newFeatureCodes = featureCodeUtil.resolveFeatureCode(param.getFeatureCodes());
param.setFeatureCodes(newFeatureCodes);
// 查询项目的权限 // 查询项目的权限
Map<Long, List<ProductPermissionCacheService.PermissionDTO>> workspacePermissionMap = listWorkspacePermission(param); Map<Long, List<ProductPermissionCacheService.PermissionDTO>> workspacePermissionMap = listWorkspacePermission(param);
if (Objects.isNull(workspacePermissionMap) || workspacePermissionMap.isEmpty()) { if (Objects.isNull(workspacePermissionMap) || workspacePermissionMap.isEmpty()) {