Merge branch 'feature/REQ-1507' into dev

This commit is contained in:
陈维伟 2023-11-13 10:18:28 +08:00
commit 4540c5e73f
2 changed files with 7 additions and 16 deletions

View File

@ -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<MessageRouteButtonDTO> btnRouters = param.getRouters().stream()
.filter(MessageButtonRouteStrategyDTO::isValid)
.map(e -> MessageRouteButtonDTO.from(e, templateCode))
.collect(Collectors.toList());
templateRouter.setRouteButtons(btnRouters);

View File

@ -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