From e1fc4dad26813a6444b9b34f70e646ed265f8c21 Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 10 Jul 2024 15:21:47 +0800 Subject: [PATCH] =?UTF-8?q?REQ-2655:=20=E5=88=86=E7=B1=BB=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=97=B6=E5=AF=B9=E5=88=86=E7=B1=BB=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/group/GroupTemplateService.java | 1 + .../message/service/group/NodeComparator.java | 23 +++++++++++++++++++ .../service/group/RootNodeWrapper.java | 1 + .../service/todo/TodoRangeQueryService.java | 1 + .../PendingMessageStatisticResponseV2.java | 6 +++-- 5 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 inside-notices/src/main/java/cn/axzo/msg/center/message/service/group/NodeComparator.java diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/group/GroupTemplateService.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/group/GroupTemplateService.java index 963fdb92..8d1fe765 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/group/GroupTemplateService.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/group/GroupTemplateService.java @@ -85,6 +85,7 @@ public class GroupTemplateService { return true; }); } + leafNodes.sort(NodeComparator.INSTANCE); return leafNodes; } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/group/NodeComparator.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/group/NodeComparator.java new file mode 100644 index 00000000..4a75f121 --- /dev/null +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/group/NodeComparator.java @@ -0,0 +1,23 @@ +package cn.axzo.msg.center.message.service.group; + +import cn.axzo.maokai.api.vo.response.tree.ValueNode; + +import java.util.Comparator; + +/** + * @author yanglin + */ +class NodeComparator implements Comparator> { + + static final NodeComparator INSTANCE = new NodeComparator(); + + private NodeComparator() { + } + + @Override + public int compare(ValueNode n1, ValueNode n2) { + Long id1 = n1.getValue().unwrap().getId(); + Long id2 = n2.getValue().unwrap().getId(); + return Long.compare(id1, id2); + } +} diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/group/RootNodeWrapper.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/group/RootNodeWrapper.java index 32eda67a..01935f21 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/group/RootNodeWrapper.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/group/RootNodeWrapper.java @@ -58,6 +58,7 @@ public class RootNodeWrapper { .map(this::findValueNode) .map(node -> node.orElse(null)) .filter(Objects::nonNull) + .sorted(NodeComparator.INSTANCE) .collect(toList()); } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRangeQueryService.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRangeQueryService.java index 17c89afe..869f4682 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRangeQueryService.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/TodoRangeQueryService.java @@ -269,6 +269,7 @@ public class TodoRangeQueryService { GroupStat groupStat = new GroupStat(); stats.add(groupStat); MessageGroupNode node = valueNode.getValue().unwrap(); + groupStat.setNodeId(node.getId()); groupStat.setGroupCode(node.getCode()); groupStat.setGroupName(node.getName()); groupStat.setGroupIcon(node.getIcon()); diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/PendingMessageStatisticResponseV2.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/PendingMessageStatisticResponseV2.java index 55f6d19b..1798b294 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/PendingMessageStatisticResponseV2.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/PendingMessageStatisticResponseV2.java @@ -65,9 +65,11 @@ public class PendingMessageStatisticResponseV2 implements Serializable { } @Data - @NoArgsConstructor - @AllArgsConstructor public static class GroupStat { + /** + * 分类id + */ + private Long nodeId; /** * 分类名称 */