feat: (feature/REQ-2595) 菜单详情接口增加roleType返回

This commit is contained in:
lilong 2024-11-13 16:13:44 +08:00
parent ab2900679f
commit fb723337cb
2 changed files with 14 additions and 6 deletions

View File

@ -1,6 +1,7 @@
package cn.axzo.tyr.client.model.res; package cn.axzo.tyr.client.model.res;
import cn.axzo.basics.common.model.IBaseTree; import cn.axzo.basics.common.model.IBaseTree;
import cn.axzo.tyr.client.common.enums.RoleTypeEnum;
import cn.axzo.tyr.client.model.enums.RolePermissionTagEnum; import cn.axzo.tyr.client.model.enums.RolePermissionTagEnum;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -44,6 +45,8 @@ public class FeatureResourceTreeNode extends FeatureResourceDTO implements IBase
private String roleCode; private String roleCode;
private Set<RolePermissionTagEnum> tags; private Set<RolePermissionTagEnum> tags;
private RoleTypeEnum roleType;
} }
@JsonIgnore @JsonIgnore

View File

@ -15,6 +15,7 @@ import cn.axzo.tyr.client.common.enums.FeatureResourceAuthType;
import cn.axzo.tyr.client.common.enums.FeatureResourceStatus; import cn.axzo.tyr.client.common.enums.FeatureResourceStatus;
import cn.axzo.tyr.client.common.enums.FeatureResourceType; import cn.axzo.tyr.client.common.enums.FeatureResourceType;
import cn.axzo.tyr.client.common.enums.PageElementFeatureResourceRelationTypeEnum; import cn.axzo.tyr.client.common.enums.PageElementFeatureResourceRelationTypeEnum;
import cn.axzo.tyr.client.common.enums.RoleTypeEnum;
import cn.axzo.tyr.client.model.enums.DelegatedType; import cn.axzo.tyr.client.model.enums.DelegatedType;
import cn.axzo.tyr.client.model.permission.SaasFeatureBO; import cn.axzo.tyr.client.model.permission.SaasFeatureBO;
import cn.axzo.tyr.client.model.req.DeleteFeatureResourceReq; import cn.axzo.tyr.client.model.req.DeleteFeatureResourceReq;
@ -43,7 +44,6 @@ import cn.axzo.tyr.server.model.convert.SaasFeatureResourceConvert;
import cn.axzo.tyr.server.repository.dao.SaasFeatureDao; import cn.axzo.tyr.server.repository.dao.SaasFeatureDao;
import cn.axzo.tyr.server.repository.dao.SaasFeatureResourceDao; import cn.axzo.tyr.server.repository.dao.SaasFeatureResourceDao;
import cn.axzo.tyr.server.repository.dao.SaasPgroupRoleRelationDao; import cn.axzo.tyr.server.repository.dao.SaasPgroupRoleRelationDao;
import cn.axzo.tyr.server.repository.entity.ProductModule;
import cn.axzo.tyr.server.repository.entity.SaasFeature; import cn.axzo.tyr.server.repository.entity.SaasFeature;
import cn.axzo.tyr.server.repository.entity.SaasFeatureResource; import cn.axzo.tyr.server.repository.entity.SaasFeatureResource;
import cn.axzo.tyr.server.repository.entity.SaasPageElementFeatureResourceRelation; import cn.axzo.tyr.server.repository.entity.SaasPageElementFeatureResourceRelation;
@ -60,8 +60,6 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.Pair; import cn.hutool.core.lang.Pair;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
@ -278,6 +276,12 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
.collect(Collectors.groupingBy(SaasPgroupRoleRelation::getGroupId, .collect(Collectors.groupingBy(SaasPgroupRoleRelation::getGroupId,
Collectors.mapping(SaasPgroupRoleRelation::getRoleId, Collectors.toList()))); Collectors.mapping(SaasPgroupRoleRelation::getRoleId, Collectors.toList())));
Map<Long, SaasRoleRes> roleMap = roleService.list(ListRoleReq.builder()
.roleIds(Lists.transform(saasPgroupRoleRelations, SaasPgroupRoleRelation::getRoleId))
.build())
.stream()
.collect(Collectors.toMap(SaasRoleRes::getId, Function.identity()));
return relations.stream() return relations.stream()
.map(e -> { .map(e -> {
List<Long> roleIds = groupRoleMap.get(e.getGroupId()); List<Long> roleIds = groupRoleMap.get(e.getGroupId());
@ -287,9 +291,10 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
return Pair.of(e.getFeatureId(), roleIds.stream() return Pair.of(e.getFeatureId(), roleIds.stream()
.map(f -> FeatureResourceTreeNode.Role.builder() .map(f -> FeatureResourceTreeNode.Role.builder()
.roleId(f) .roleId(f)
.tags(e.getTags()) .tags(e.getTags())
.build()) .roleType(RoleTypeEnum.getRoleType(roleMap.get(f).getRoleType()))
.build())
.filter(Objects::nonNull) .filter(Objects::nonNull)
.distinct() .distinct()
.collect(Collectors.toList())); .collect(Collectors.toList()));