diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateNewServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateNewServiceImpl.java index 9c358def..81b75654 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateNewServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateNewServiceImpl.java @@ -18,6 +18,7 @@ import cn.axzo.msg.center.message.service.MessageTemplateGroupService; import cn.axzo.msg.center.message.service.MessageTemplateNewService; import cn.axzo.msg.center.message.service.MessageTemplateRouterService; import cn.axzo.msg.center.service.dto.MessageBaseTemplateDTO; +import cn.axzo.msg.center.service.dto.MessageButtonRouteStrategyDTO; import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; import cn.axzo.msg.center.service.enums.PushTerminalEnum; import cn.axzo.msg.center.service.enums.StatusEnum; @@ -419,6 +420,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService } if (CollectionUtils.isNotEmpty(param.getRouters())) { List btnRouters = param.getRouters().stream() + .filter(MessageButtonRouteStrategyDTO::isValid) .map(e -> MessageRouteButtonDTO.from(e, templateCode)) .collect(Collectors.toList()); templateRouter.setRouteButtons(btnRouters); diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageButtonRouteStrategyDTO.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageButtonRouteStrategyDTO.java index 22dc6d93..fb31c430 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageButtonRouteStrategyDTO.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/dto/MessageButtonRouteStrategyDTO.java @@ -10,6 +10,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import java.io.Serializable; import java.util.List; @@ -66,23 +67,11 @@ public class MessageButtonRouteStrategyDTO implements Serializable { private String apiUrl; public boolean isValid() { - if (CollectionUtils.isEmpty(terminals)) { - return false; + if (RouterCategoryEnum.ACTION.equals(category)) { + return StringUtils.isNotBlank(apiUrl); } - if (RouterCategoryEnum.ACTION.equals(category) && terminals.size() > 1) { - return false; - } - return terminals.stream().allMatch(MessageRouterTerminalDTO::isValid); - } - - 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); + return CollectionUtils.isNotEmpty(terminals) + && terminals.stream().allMatch(MessageRouterTerminalDTO::isValid); } @Override