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

View File

@ -69,8 +69,7 @@ public class MessageTemplateRouterServiceImpl implements MessageTemplateRouterSe
// 模板路由的按钮维度 // 模板路由的按钮维度
Map<String, List<MessageTemplateRouter>> btnMap = e.stream() Map<String, List<MessageTemplateRouter>> btnMap = e.stream()
.collect(Collectors.groupingBy(MessageTemplateRouter::getName)); .collect(Collectors.groupingBy(MessageTemplateRouter::getName));
return btnMap.values().stream() return btnMap.values().stream().map(RawMessageRouterDTO::from);
.map(RawMessageRouterDTO::from);
}).collect(Collectors.toList()); }).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.message.domain.dto.RawMessageRouterDTO;
import cn.axzo.msg.center.service.dto.MessageRouterDTO; import cn.axzo.msg.center.service.dto.MessageRouterDTO;
import cn.axzo.msg.center.service.dto.MessageRouterTerminalDTO; 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.RouterCategoryEnum;
import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* @description * @description
@ -74,4 +73,17 @@ public final class MessageRouterUtil {
router.setUrl(routerUrl); 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: 启用 * ENABLE: 启用
* DISABLE: 禁用 * DISABLE: 禁用
*/ */
@NotNull(message = "status is required")
private StatusEnum status; private StatusEnum status;
@Override @Override