Merge branch 'feature/REQ-1899' into 'master'
Feature/req 1899 See merge request universal/infrastructure/backend/msg-center-plat!320
This commit is contained in:
commit
f6d08c7feb
@ -14,6 +14,7 @@ import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.io.Serializable;
|
||||
@ -90,6 +91,7 @@ public class GeneralMessagePushVO implements Serializable {
|
||||
List<CardExtensionItem> cardExtension = CollectionUtils.isEmpty(cardContentItems) ? Collections.emptyList() :
|
||||
cardContentItems.stream()
|
||||
.map(CardExtensionItem::from)
|
||||
.filter(i -> StringUtils.isNotBlank(i.getDetail()) && !"null".equals(i.getDetail()))
|
||||
.collect(Collectors.toList());
|
||||
List<Subtitle> subtitles = Collections.emptyList();
|
||||
Optional<Subtitle> subtitleOp = Subtitle.from(record, orgIcon);
|
||||
@ -125,6 +127,7 @@ public class GeneralMessagePushVO implements Serializable {
|
||||
}
|
||||
return msgTemplateRouter.getRouteButtons().stream()
|
||||
.map(CardButton::from)
|
||||
.filter(b -> BooleanUtils.isTrue(b.isOverCard))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@ -181,9 +184,13 @@ public class GeneralMessagePushVO implements Serializable {
|
||||
*/
|
||||
private String action;
|
||||
/**
|
||||
* 按钮样式
|
||||
* 按钮样式 - 是否高亮
|
||||
*/
|
||||
private Boolean isHighlight;
|
||||
/**
|
||||
* 按钮样式 - 是否按钮显示在卡片
|
||||
*/
|
||||
private Boolean isOverCard;
|
||||
/**
|
||||
* 按钮点击后的跳转地址
|
||||
*/
|
||||
@ -207,7 +214,8 @@ public class GeneralMessagePushVO implements Serializable {
|
||||
return CardButton.builder()
|
||||
.title(routerButton.getName())
|
||||
.action(routerButton.getCategory().name())
|
||||
.isHighlight(buttonStyles.stream().allMatch(ButtonStyleEnum.HIGH_LIGHT::equals))
|
||||
.isHighlight(buttonStyles.stream().anyMatch(ButtonStyleEnum.HIGH_LIGHT::equals))
|
||||
.isOverCard(buttonStyles.stream().anyMatch(ButtonStyleEnum.OVER_CARD::equals))
|
||||
.actionPaths(Lists.newArrayList(
|
||||
new ButtonAction(TerminalTypeEnum.WEB_VIEW.name(), routerButton.getApiUrl())))
|
||||
.build();
|
||||
@ -215,7 +223,8 @@ public class GeneralMessagePushVO implements Serializable {
|
||||
return CardButton.builder()
|
||||
.title(routerButton.getName())
|
||||
.action(routerButton.getCategory().name())
|
||||
.isHighlight(buttonStyles.stream().allMatch(ButtonStyleEnum.HIGH_LIGHT::equals))
|
||||
.isHighlight(buttonStyles.stream().anyMatch(ButtonStyleEnum.HIGH_LIGHT::equals))
|
||||
.isOverCard(buttonStyles.stream().anyMatch(ButtonStyleEnum.OVER_CARD::equals))
|
||||
.actionPaths(routerButton.getRouterConfigs().stream()
|
||||
.map(e -> new ButtonAction(e.getTerminalType().name(), e.getUrl()))
|
||||
.collect(Collectors.toList())
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
package cn.axzo.msg.center.message.service;
|
||||
|
||||
import cn.axzo.msg.center.message.domain.dto.MessageTemplateRouterDTO;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
@ -31,7 +29,7 @@ public interface MessageTemplateRouterService {
|
||||
* @param router 路由配置
|
||||
* @param isUpdate 是否更新
|
||||
*/
|
||||
void saveOrUpdate(MessageTemplateRouterDTO router, boolean isUpdate);
|
||||
void saveOrUpdate(MessageTemplateRouterDTO router, boolean isUpdate, String templateCode);
|
||||
|
||||
/**
|
||||
* 根据消息模板编码查询配置的路由列表
|
||||
|
||||
@ -319,7 +319,7 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
MessageTemplateRouterDTO templateRouter = buildTemplateRouter(param, templateCode);
|
||||
if (templateRouter.isValid()) {
|
||||
// 模板配置了路由的场景
|
||||
messageTemplateRouterService.saveOrUpdate(templateRouter, false);
|
||||
messageTemplateRouterService.saveOrUpdate(templateRouter, false, templateCode);
|
||||
}
|
||||
}
|
||||
|
||||
@ -349,9 +349,12 @@ public class MessageTemplateNewServiceImpl implements MessageTemplateNewService
|
||||
|
||||
private void updateTemplateRouters(MessageTemplateSaveOrUpdateParam param) {
|
||||
MessageTemplateRouterDTO templateRouter = buildTemplateRouter(param, param.getTemplateCode());
|
||||
if (templateRouter.isValid()) {
|
||||
boolean isCleanOldFlag = Objects.isNull(param.getBizDetailShowStrategy())
|
||||
|| CollectionUtils.isEmpty(param.getBizDetailShowStrategy().getTerminals())
|
||||
|| CollectionUtils.isEmpty(param.getRouters());
|
||||
if (templateRouter.isValid() || isCleanOldFlag) {
|
||||
// 模板修改了路由的场景
|
||||
messageTemplateRouterService.saveOrUpdate(templateRouter, true);
|
||||
messageTemplateRouterService.saveOrUpdate(templateRouter, true, param.getTemplateCode());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -16,15 +16,6 @@ import cn.axzo.msg.center.service.enums.RouterCategoryEnum;
|
||||
import cn.axzo.msg.center.utils.UUIDUtil;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@ -35,6 +26,14 @@ import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* @description
|
||||
@ -66,14 +65,14 @@ public class MessageTemplateRouterServiceImpl implements MessageTemplateRouterSe
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveOrUpdate(MessageTemplateRouterDTO router, boolean isUpdate) {
|
||||
public void saveOrUpdate(MessageTemplateRouterDTO router, boolean isUpdate, String templateCode) {
|
||||
if (Objects.isNull(router)) {
|
||||
log.info("template router is null.");
|
||||
return;
|
||||
}
|
||||
if (isUpdate) {
|
||||
// 更新的逻辑为删除旧的重新创建
|
||||
remove(router.fetchTemplateCode().orElse(null));
|
||||
remove(templateCode);
|
||||
}
|
||||
if (!router.isValid()) {
|
||||
log.info("invalid message template router.");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user