Merge branch 'feature/REQ-1465' of axzsource.com:universal/infrastructure/backend/msg-center-plat into dev

This commit is contained in:
luofu 2023-10-13 16:42:27 +08:00
commit 0db9d13a83
4 changed files with 28 additions and 6 deletions

View File

@ -60,12 +60,15 @@ public class RawMessageRouterDTO implements Serializable {
public static RawMessageRouterDTO from(List<MessageTemplateRouter> msgTemplateRouters) {
MessageTemplateRouter router = msgTemplateRouters.get(0);
List<MessageRouterTerminalDTO> terminals = msgTemplateRouters.stream()
.map(RawMessageRouterDTO::convert2Terminal)
.collect(Collectors.toList());
return RawMessageRouterDTO.builder()
.desc(router.getName())
.category(router.getCategory())
.templateCode(router.getTemplateCode())
.style(JSON.parseArray(router.getStyle(), ButtonStyleEnum.class))
.terminals(JSON.parseArray(router.getStyle(), MessageRouterTerminalDTO.class))
.style(MessageRouterUtil.parseButtonStyle(router.getStyle()))
.terminals(terminals)
.build();
}
@ -107,6 +110,13 @@ public class RawMessageRouterDTO implements Serializable {
return router;
}
private static MessageRouterTerminalDTO convert2Terminal(MessageTemplateRouter router) {
return MessageRouterTerminalDTO.builder()
.url(router.getUrl())
.terminalType(router.getTerminalType())
.build();
}
@Override
public String toString() {
return JSON.toJSONString(this);

View File

@ -69,8 +69,7 @@ public class MessageTemplateRouterServiceImpl implements MessageTemplateRouterSe
// 模板路由的按钮维度
Map<String, List<MessageTemplateRouter>> btnMap = e.stream()
.collect(Collectors.groupingBy(MessageTemplateRouter::getName));
return btnMap.values().stream()
.map(RawMessageRouterDTO::from);
return btnMap.values().stream().map(RawMessageRouterDTO::from);
}).collect(Collectors.toList());
}
}

View File

@ -4,18 +4,17 @@ import cn.axzo.msg.center.common.utils.PlaceholderResolver;
import cn.axzo.msg.center.message.domain.dto.RawMessageRouterDTO;
import cn.axzo.msg.center.service.dto.MessageRouterDTO;
import cn.axzo.msg.center.service.dto.MessageRouterTerminalDTO;
import cn.axzo.msg.center.service.enums.ButtonStyleEnum;
import cn.axzo.msg.center.service.enums.RouterCategoryEnum;
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
import com.alibaba.fastjson.JSON;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @description
@ -74,4 +73,17 @@ public final class MessageRouterUtil {
router.setUrl(routerUrl);
}
}
/**
* 解析按钮style
*
* @param style 按钮style的JSON字串
* @return 按钮style的枚举列表
*/
public static List<ButtonStyleEnum> parseButtonStyle(String style) {
if (StringUtils.isBlank(style)) {
return Collections.emptyList();
}
return JSON.parseArray(style, ButtonStyleEnum.class);
}
}

View File

@ -35,6 +35,7 @@ public class MessageTemplateUpdateStatusRequest implements Serializable {
* ENABLE: 启用
* DISABLE: 禁用
*/
@NotNull(message = "status is required")
private StatusEnum status;
@Override