diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/model/ParsedButtonV3.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/model/ParsedButtonV3.java index 5d9e5dd9..cfa2f0b0 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/model/ParsedButtonV3.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/model/ParsedButtonV3.java @@ -93,6 +93,10 @@ public class ParsedButtonV3 implements MessageButton { @Nullable @JsonInclude(JsonInclude.Include.NON_NULL) private Integer priority; + public int determinePriority() { + return priority == null ? Integer.MAX_VALUE : priority; + } + public List parseStyle() { if (style == null) return Collections.emptyList(); return JSON.parseArray(style.toJSONString(), ButtonStyleEnum.class); diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/model/ParsedModelV3.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/model/ParsedModelV3.java index c369cd14..422eb858 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/model/ParsedModelV3.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/pending/response/v3/model/ParsedModelV3.java @@ -12,6 +12,7 @@ import javax.annotation.Nullable; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.Comparator; import java.util.List; import java.util.Objects; @@ -82,7 +83,9 @@ public class ParsedModelV3 implements MessageButtonProvider { } public List determineButtons() { - return buttons == null ? Collections.emptyList() : buttons; + List buttons = this.buttons == null ? Collections.emptyList() : this.buttons; + buttons.sort(Comparator.comparingInt(ParsedButtonV3::determinePriority)); + return buttons; } public void removeEmptyKVGroups() {