REQ-2303: 统计分类数据时, 只统计返回分类子节点的数据,前端页面上不关注分类的层级关系
This commit is contained in:
parent
a61f06795a
commit
016c14c049
@ -52,10 +52,8 @@ public class GroupTemplateService {
|
||||
return new RootNodeWrapper(TreeBuilder.build(nodes, true));
|
||||
}
|
||||
|
||||
public List<ValueNode<NodeWrapper>> getTodoGroups(
|
||||
AppTerminalTypeEnum terminal, boolean leafOnly) {
|
||||
Set<Long> configuredIds = new HashSet<>(
|
||||
cfg.fetchMessageGroupTreeNodeIds(terminal));
|
||||
public List<ValueNode<NodeWrapper>> getTodoGroups(AppTerminalTypeEnum terminal) {
|
||||
Set<Long> configuredIds = new HashSet<>(cfg.fetchMessageGroupTreeNodeIds(terminal));
|
||||
ArrayList<ValueNode<NodeWrapper>> configuredNodes = new ArrayList<>();
|
||||
getGroupRoot().unwrap().walkDown(node -> {
|
||||
//noinspection unchecked
|
||||
@ -69,10 +67,12 @@ public class GroupTemplateService {
|
||||
configuredNodes.add(valueNode);
|
||||
return true;
|
||||
});
|
||||
if (!leafOnly)
|
||||
return configuredNodes;
|
||||
return configuredNodes;
|
||||
}
|
||||
|
||||
public List<ValueNode<NodeWrapper>> collectLeafNodes(List<ValueNode<NodeWrapper>> nodes) {
|
||||
List<ValueNode<NodeWrapper>> leafNodes = new ArrayList<>();
|
||||
for (ValueNode<NodeWrapper> configuredNode : configuredNodes) {
|
||||
for (ValueNode<NodeWrapper> configuredNode : nodes) {
|
||||
configuredNode.walkDown(node -> {
|
||||
//noinspection unchecked
|
||||
ValueNode<NodeWrapper> valueNode = node.tryCast(ValueNode.class);
|
||||
|
||||
@ -217,8 +217,7 @@ public class TodoRangeQueryService {
|
||||
if (!request.determineGroupNodeCodes().isEmpty())
|
||||
return groupTemplateService.collectTemplateCodes(request.determineGroupNodeCodes());
|
||||
// 获取可见的模版时, 不用定位到叶子节点
|
||||
List<ValueNode<NodeWrapper>> nodes = groupTemplateService
|
||||
.getTodoGroups(request.getAppTerminalType(), false);
|
||||
List<ValueNode<NodeWrapper>> nodes = groupTemplateService.getTodoGroups(request.getAppTerminalType());
|
||||
return groupTemplateService.collectTemplateCodes(nodes);
|
||||
}
|
||||
|
||||
@ -277,10 +276,11 @@ public class TodoRangeQueryService {
|
||||
}
|
||||
|
||||
public List<ValueNode<NodeWrapper>> determineStatNodes(MessageGroupNodeStatisticParam request) {
|
||||
if (CollectionUtils.isNotEmpty(request.getGroupNodeCodes()))
|
||||
return groupTemplateService.getGroupRoot().getNodes(request.getGroupNodeCodes());
|
||||
List<ValueNode<NodeWrapper>> nodes = CollectionUtils.isNotEmpty(request.getGroupNodeCodes())
|
||||
? groupTemplateService.getGroupRoot().getNodes(request.getGroupNodeCodes())
|
||||
: groupTemplateService.getTodoGroups(request.getTerminalType());
|
||||
// 只返回给前端叶子节点的信息, 前端不需要层级信息
|
||||
return groupTemplateService.getTodoGroups(request.getTerminalType(), true);
|
||||
return groupTemplateService.collectLeafNodes(nodes);
|
||||
}
|
||||
|
||||
// helper
|
||||
|
||||
Loading…
Reference in New Issue
Block a user