feat:(REQ-2968) 修改接口目前只返回roleId,减少IO流量

This commit is contained in:
lilong 2024-09-24 15:48:04 +08:00
parent dd65dce4af
commit 91faafe72e
2 changed files with 9 additions and 16 deletions

View File

@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
import java.util.Set;
/**
* 功能资源树形节点
@ -26,7 +27,7 @@ public class FeatureResourceTreeNode extends FeatureResourceDTO implements IBase
private List<String> roleCodes;
private List<Role> roles;
private Set<Long> roleIds;
@JsonIgnore
@Override
@ -50,12 +51,4 @@ public class FeatureResourceTreeNode extends FeatureResourceDTO implements IBase
public void setNodeChildren(List<FeatureResourceTreeNode> nodeChildren) {
this.children = nodeChildren;
}
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public static class Role {
private Long roleId;
}
}

View File

@ -31,6 +31,7 @@ import cn.axzo.tyr.client.model.res.FeatureResourceTreeNode;
import cn.axzo.tyr.client.model.res.PageElementBasicDTO;
import cn.axzo.tyr.client.model.res.PageElementResp;
import cn.axzo.tyr.client.model.res.SaasFeatureResourceResp;
import cn.axzo.tyr.client.model.res.SaasRoleRes;
import cn.axzo.tyr.server.common.util.Throws;
import cn.axzo.tyr.server.config.MqProducer;
import cn.axzo.tyr.server.event.payload.SaasFeatureResourceUpsertPayload;
@ -246,7 +247,7 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
}
private Map<Long, List<FeatureResourceTreeNode.Role>> listRoles(DetailFeatureResourceReq detailFeatureResourceReq,
private Map<Long, List<SaasRoleRes>> listRoles(DetailFeatureResourceReq detailFeatureResourceReq,
List<SaasFeatureResource> descendants) {
if (CollectionUtils.isEmpty(descendants) || BooleanUtils.isNotTrue(detailFeatureResourceReq.getNeedRole())) {
return Collections.emptyMap();
@ -266,12 +267,11 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
return Collections.emptyMap();
}
Map<Long, FeatureResourceTreeNode.Role> roles = roleService.list(RoleService.ListSaasRoleParam.builder()
Map<Long, SaasRoleRes> roles = roleService.list(RoleService.ListSaasRoleParam.builder()
.roleIds(Lists.transform(saasPgroupRoleRelations, SaasPgroupRoleRelation::getRoleId))
.build())
.stream()
.map(e -> FeatureResourceTreeNode.Role.builder().roleId(e.getId()).build())
.collect(Collectors.toMap(FeatureResourceTreeNode.Role::getRoleId, Function.identity()));
.collect(Collectors.toMap(SaasRoleRes::getId, Function.identity()));
Map<Long, List<Long>> groupRoleMap = saasPgroupRoleRelations.stream()
.collect(Collectors.groupingBy(SaasPgroupRoleRelation::getGroupId,
@ -307,13 +307,13 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
return null;
}
Map<Long, List<FeatureResourceTreeNode.Role>> roles = listRoles(param, descendants);
Map<Long, List<SaasRoleRes>> roles = listRoles(param, descendants);
List<FeatureResourceTreeNode> treeList = TreeUtil.buildTree(descendants.stream()
.map(e -> {
FeatureResourceTreeNode featureResourceTreeNode = SaasFeatureResourceConvert.INSTANCE.convert(e);
featureResourceTreeNode.setRoles(Optional.ofNullable(roles.get(featureResourceTreeNode.getId()))
.map(f -> f.stream().distinct().collect(Collectors.toList()))
featureResourceTreeNode.setRoleIds(Optional.ofNullable(roles.get(featureResourceTreeNode.getId()))
.map(f -> f.stream().map(SaasRoleRes::getId).collect(Collectors.toSet()))
.orElse(null));
return featureResourceTreeNode;
})