feat:(REQ-2968) 修改接口目前只返回roleId,减少IO流量
This commit is contained in:
parent
dd65dce4af
commit
91faafe72e
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user