Merge branch 'feature/REQ-1465' of axzsource.com:universal/infrastructure/backend/msg-center-plat into dev
This commit is contained in:
commit
78ec00bc80
@ -52,7 +52,12 @@ public class MessageGroupNodeStatisticDTO implements IBaseTree<MessageGroupNodeS
|
|||||||
}
|
}
|
||||||
|
|
||||||
public MessageGroupNodeResponse toResponse() {
|
public MessageGroupNodeResponse toResponse() {
|
||||||
MessageGroupNodeResponse response = BeanConverter.convert(this, MessageGroupNodeResponse.class);
|
MessageGroupNodeResponse response = new MessageGroupNodeResponse();
|
||||||
|
response.setCategory(treeNode.getCategory());
|
||||||
|
response.setNodeCode(treeNode.getNodeCode());
|
||||||
|
response.setNodeName(treeNode.getNodeName());
|
||||||
|
response.setParentNodeCode(treeNode.getParentNodeCode());
|
||||||
|
response.setPendingCount(this.pendingCount);
|
||||||
List<MessageGroupNodeResponse> children = this.nodeChildren.stream()
|
List<MessageGroupNodeResponse> children = this.nodeChildren.stream()
|
||||||
.map(MessageGroupNodeStatisticDTO::toResponse).collect(Collectors.toList());
|
.map(MessageGroupNodeStatisticDTO::toResponse).collect(Collectors.toList());
|
||||||
response.setNodeChildren(children);
|
response.setNodeChildren(children);
|
||||||
|
|||||||
@ -28,19 +28,22 @@ public final class TreeHelperUtil {
|
|||||||
AssertUtil.notNull(wrapperFunc, "wrapperFunc is null");
|
AssertUtil.notNull(wrapperFunc, "wrapperFunc is null");
|
||||||
|
|
||||||
final Map<GroupTreeNodeDTO, T> convertMap = Maps.newHashMap();
|
final Map<GroupTreeNodeDTO, T> convertMap = Maps.newHashMap();
|
||||||
T wrapper = wrapperFunc.apply(treeNode);
|
T root = wrapperFunc.apply(treeNode);
|
||||||
convertMap.put(treeNode, wrapper);
|
convertMap.put(treeNode, root);
|
||||||
LinkedList<GroupTreeNodeDTO> treeNodeStack = new LinkedList<>();
|
LinkedList<GroupTreeNodeDTO> treeNodeStack = new LinkedList<>();
|
||||||
treeNodeStack.push(treeNode);
|
treeNodeStack.push(treeNode);
|
||||||
while (!treeNodeStack.isEmpty()) {
|
while (!treeNodeStack.isEmpty()) {
|
||||||
treeNode = treeNodeStack.pop();
|
treeNode = treeNodeStack.pop();
|
||||||
List<GroupTreeNodeDTO> children = treeNode.getNodeChildren();
|
List<GroupTreeNodeDTO> children = treeNode.getNodeChildren();
|
||||||
convertMap.get(treeNode).setNodeChildren(children.stream()
|
convertMap.get(treeNode).setNodeChildren(children.stream()
|
||||||
.map(e -> convertMap.put(e, wrapperFunc.apply(e)))
|
.map(e -> {
|
||||||
.collect(Collectors.toList()));
|
T wrapper = wrapperFunc.apply(e);
|
||||||
|
convertMap.put(e, wrapper);
|
||||||
|
return wrapper;
|
||||||
|
}).collect(Collectors.toList()));
|
||||||
treeNodeStack.addAll(children);
|
treeNodeStack.addAll(children);
|
||||||
}
|
}
|
||||||
return wrapper;
|
return root;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isLeafNodeCategory(MessageGroupNodeCategoryEnum category) {
|
public static boolean isLeafNodeCategory(MessageGroupNodeCategoryEnum category) {
|
||||||
|
|||||||
@ -62,6 +62,10 @@ public class GroupTreeNodeDTO implements IBaseTree<GroupTreeNodeDTO, String>, Se
|
|||||||
@Builder.Default
|
@Builder.Default
|
||||||
private List<GroupTreeNodeDTO> nodeChildren = Collections.emptyList();
|
private List<GroupTreeNodeDTO> nodeChildren = Collections.emptyList();
|
||||||
|
|
||||||
|
public void setNodeChildren(List<GroupTreeNodeDTO> nodeChildren) {
|
||||||
|
this.nodeChildren = Optional.ofNullable(nodeChildren).orElseGet(Collections::emptyList);
|
||||||
|
}
|
||||||
|
|
||||||
public MessageGroupTreeNodeResponse toMessageGroupTreeNodeResponse() {
|
public MessageGroupTreeNodeResponse toMessageGroupTreeNodeResponse() {
|
||||||
List<MessageGroupTreeNodeResponse> children = Optional.ofNullable(nodeChildren)
|
List<MessageGroupTreeNodeResponse> children = Optional.ofNullable(nodeChildren)
|
||||||
.map(v -> v.stream().map(GroupTreeNodeDTO::toMessageGroupTreeNodeResponse).collect(Collectors.toList()))
|
.map(v -> v.stream().map(GroupTreeNodeDTO::toMessageGroupTreeNodeResponse).collect(Collectors.toList()))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user