From 9ea4d9413542106e9f4738216562cf92cbd5e9f4 Mon Sep 17 00:00:00 2001 From: luofu Date: Sat, 21 Oct 2023 16:26:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-1465):=20IM=E6=95=B0=E6=8D=AE=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 背景: https://jira.axzo.cn/browse/REQ-1465?goToView=1 修改: 1、IM数据格式定义 影响: 无 --- .../message/domain/vo/GeneralMessagePushVO.java | 6 ++++++ .../service/impl/GeneralMessageServiceImpl.java | 3 ++- .../center/service/dto/MessageRouterButtonDTO.java | 11 +++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/vo/GeneralMessagePushVO.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/vo/GeneralMessagePushVO.java index 607a95c9..14369b77 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/vo/GeneralMessagePushVO.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/vo/GeneralMessagePushVO.java @@ -88,6 +88,7 @@ public class GeneralMessagePushVO implements Serializable { List cardButtons = CollectionUtils.isEmpty(routerButtons) ? Collections.emptyList() : routerButtons.stream() .filter(e -> !RouterCategoryEnum.DETAIL.equals(e.getCategory())) + .filter(MessageRouterButtonDTO::isShowOnCard) .map(CardButton::from) .collect(Collectors.toList()); List cardExtension = CollectionUtils.isEmpty(cardContentItems) ? Collections.emptyList() : @@ -158,6 +159,10 @@ public class GeneralMessagePushVO implements Serializable { * 按钮操作类型: JUMP - 页面跳转, ACTION - 接口调用 */ private String action; + /** + * 按钮样式 + */ + private Boolean isHighlight; /** * 按钮点击后的跳转地址 */ @@ -167,6 +172,7 @@ public class GeneralMessagePushVO implements Serializable { return CardButton.builder() .title(routerButton.getDesc()) .action(routerButton.getCategory().name()) + .isHighlight(routerButton.isHighlight()) .actionPaths(routerButton.getTerminals().stream() .map(e -> new ButtonAction(e.getTerminalType().name(), e.getUrl())) .collect(Collectors.toList()) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageServiceImpl.java index ac202bfb..6e99cd94 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageServiceImpl.java @@ -42,7 +42,8 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class GeneralMessageServiceImpl implements GeneralMessageService { - private final String orgIcon = "www.baidu.com"; + // TODO:[cold_blade] [P2] 图片icon的最好配置在nacos上 + private final String orgIcon = "https://axzo-pro.oss-cn-hangzhou.aliyuncs.com/rs_app/ic_org_icon.png"; private final MessageApi messageApi; private final MessageTemplateNewService messageTemplateNewService; diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageRouterButtonDTO.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageRouterButtonDTO.java index f6490a70..a4bd8e0d 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageRouterButtonDTO.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageRouterButtonDTO.java @@ -8,6 +8,7 @@ import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.apache.commons.collections.CollectionUtils; import java.io.Serializable; import java.util.List; @@ -50,6 +51,16 @@ public class MessageRouterButtonDTO implements Serializable { */ private List terminals; + public boolean isHighlight() { + return CollectionUtils.isNotEmpty(style) + && style.stream().anyMatch(ButtonStyleEnum.HIGH_LIGHT::equals); + } + + public boolean isShowOnCard() { + return CollectionUtils.isNotEmpty(style) + && style.stream().anyMatch(ButtonStyleEnum.OVER_CARD::equals); + } + @Override public String toString() { return JSON.toJSONString(this);