diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/CardElementType.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/CardElementType.java new file mode 100644 index 00000000..83e5147b --- /dev/null +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/CardElementType.java @@ -0,0 +1,26 @@ +package cn.axzo.msg.center.service.enums; + +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author yanglin + */ +@Getter +@AllArgsConstructor(access = AccessLevel.PRIVATE) +public enum CardElementType implements CodeDefinition { + + TEXT("文本"), + ICON("图标"), + IMAGE("图片"), + ; + + private final String description; + + @Override + public String getCode() { + return name(); + } + +} \ No newline at end of file diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/PresetButtonType.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/PresetButtonType.java index c149bc51..d78b9206 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/PresetButtonType.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/PresetButtonType.java @@ -14,7 +14,8 @@ import lombok.Getter; public enum PresetButtonType implements CodeDefinition { AGREE("同意"), - REJECT("驳回"); + REJECT("驳回"), + REVOKE("撤销"),; private final String desc; diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/StateImageType.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/StateImageType.java new file mode 100644 index 00000000..d493bd6e --- /dev/null +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/StateImageType.java @@ -0,0 +1,30 @@ +package cn.axzo.msg.center.service.enums; + +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author yanglin + */ +@Getter +@AllArgsConstructor(access = AccessLevel.PRIVATE) +public enum StateImageType implements CodeDefinition { + + PENDING("待处理", ""), + AGREED("已同意", "https://static.axzo.cn/fe-static/uni-icon/public/seal-4%23_%241699341908374.png"), + REJECTED("已拒绝", "https://static.axzo.cn/fe-static/uni-icon/public/seal-2%23_%241699341908381.png"), + REVOKED("已撤销", "https://static.axzo.cn/fe-static/uni-icon/native/%E5%8E%9F%E7%A8%BF%23_%241711338477975.png"), + ABORTED("已中止", "https://axzo-public.oss-cn-chengdu.aliyuncs.com/%E5%8D%B0%E7%AB%A0-%E8%AF%A6%E6%83%85end.png"), + COMPLETED("已处理", "https://static.axzo.cn/fe-static/uni-icon/public/seal-1%23_%241699341908382.png"), + END("已完结", ""), + ; + + private final String description; + private final String defaultImageUrl; + + @Override + public String getCode() { + return name(); + } +} \ No newline at end of file diff --git a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/CardStyleDao.java b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/CardStyleDao.java new file mode 100644 index 00000000..84fc6c0d --- /dev/null +++ b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/CardStyleDao.java @@ -0,0 +1,15 @@ +package cn.axzo.msg.center.dal; + +import cn.axzo.msg.center.dal.mapper.CardStyleMapper; +import cn.axzo.msg.center.domain.entity.CardStyle; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author yanglin + */ +@Slf4j +@Component +public class CardStyleDao extends ServiceImpl { +} diff --git a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/CardStyleMapper.java b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/CardStyleMapper.java new file mode 100644 index 00000000..f7ac6eb9 --- /dev/null +++ b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/CardStyleMapper.java @@ -0,0 +1,10 @@ +package cn.axzo.msg.center.dal.mapper; + +import cn.axzo.msg.center.domain.entity.CardStyle; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @author yanglin + */ +public interface CardStyleMapper extends BaseMapper { +} diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/AppVersionConfig.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/AppVersionConfig.java new file mode 100644 index 00000000..db26962a --- /dev/null +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/AppVersionConfig.java @@ -0,0 +1,24 @@ +package cn.axzo.msg.center.domain.entity; + +import cn.axzo.msg.center.service.enums.PushTerminalEnum; +import lombok.Getter; +import lombok.Setter; + +/** + * @author yanglin + */ +@Setter +@Getter +public class AppVersionConfig { + + /** + * 端类型 + */ + private PushTerminalEnum appType; + + /** + * 最低版本 + */ + private String minVersion; + +} \ No newline at end of file diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/CardElementConfig.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/CardElementConfig.java new file mode 100644 index 00000000..f8a001b2 --- /dev/null +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/CardElementConfig.java @@ -0,0 +1,34 @@ +package cn.axzo.msg.center.domain.entity; + +import cn.axzo.msg.center.service.enums.CardElementType; +import lombok.Getter; +import lombok.Setter; + +/** + * @author yanglin + */ +@Setter +@Getter +public class CardElementConfig { + + /** + * 元素类型 + */ + private CardElementType type; + + /** + * 元素名称 + */ + private String name; + + /** + * 元素编码 + */ + private String code; + + /** + * 元素值 + */ + private String value; + +} \ No newline at end of file diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/CardExtField.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/CardExtField.java new file mode 100644 index 00000000..f868f011 --- /dev/null +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/CardExtField.java @@ -0,0 +1,34 @@ +package cn.axzo.msg.center.domain.entity; + +import cn.axzo.msg.center.service.enums.CardElementType; +import lombok.Getter; +import lombok.Setter; + +/** + * @author yanglin + */ +@Setter +@Getter +public class CardExtField { + + /** + * 元素类型 + */ + private CardElementType type; + + /** + * 元素名称 + */ + private String name; + + /** + * 元素编码 + */ + private String code; + + /** + * 元素值 + */ + private String value; + +} \ No newline at end of file diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/CardStyle.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/CardStyle.java new file mode 100644 index 00000000..9ddfc7a4 --- /dev/null +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/CardStyle.java @@ -0,0 +1,43 @@ +package cn.axzo.msg.center.domain.entity; + +import cn.axzo.msg.center.domain.persistence.BaseEntityExt; +import cn.axzo.msg.center.domain.utils.StringListTypeHandler; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * @author yanglin + */ +@Setter +@Getter +@Accessors(chain = true) +@TableName(value = "card_style", autoResultMap = true) +public class CardStyle extends BaseEntityExt { + + /** + * 样式名称 + */ + private String name; + + /** + * 样式code, 唯一 + */ + private String code; + + /** + * 预览大图 + */ + @TableField(typeHandler = StringListTypeHandler.class) + private List previewImages; + + /** + * 卡片元素配置 + */ + private List elementConfigs; + +} diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageTemplateButtonV3.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageTemplateButtonV3.java index 17f817e1..1326d2aa 100644 --- a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageTemplateButtonV3.java +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageTemplateButtonV3.java @@ -26,6 +26,11 @@ public class MessageTemplateButtonV3 extends BaseEntityWithOperator */ private YesOrNo displayOnList; + /** + * app最低版本控制 + */ + @TableField(typeHandler = AppVersionConfigsTypeHandler.class) + private List appVersionConfigs; + + /** + * 卡片样式编码 + */ + private String cardStyleCode; + + /** + * 卡片样式扩展字段 + */ + @TableField(typeHandler = FastjsonTypeHandler.class) + private List cardExtFields; + + /** + * 卡片状态图片配置 + */ + @TableField(typeHandler = StateImageConfigConfigsTypeHandler.class) + private List stateImageConfigs; + /** * 扩展字段 */ @@ -143,4 +167,11 @@ public class MessageTemplateV3 extends BaseEntityWithOperator private Boolean isSyncedForTest; } + // @formatter:off + public static class AppVersionConfigsTypeHandler + extends BaseListTypeHandler {} + public static class StateImageConfigConfigsTypeHandler + extends BaseListTypeHandler {} + // @formatter:on + } \ No newline at end of file diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/StateImageConfig.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/StateImageConfig.java new file mode 100644 index 00000000..93826d56 --- /dev/null +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/StateImageConfig.java @@ -0,0 +1,29 @@ +package cn.axzo.msg.center.domain.entity; + +import cn.axzo.msg.center.service.enums.StateImageType; +import lombok.Getter; +import lombok.Setter; + +/** + * @author yanglin + */ +@Setter +@Getter +public class StateImageConfig { + + /** + * 状态类型 + */ + private StateImageType stateImageType; + + /** + * 图片地址 + */ + private String imageUrl; + + /** + * 是否启用 + */ + private Boolean enabled; + +} \ No newline at end of file diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/utils/LongListTypeHandler.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/utils/LongListTypeHandler.java new file mode 100644 index 00000000..8e0071da --- /dev/null +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/utils/LongListTypeHandler.java @@ -0,0 +1,9 @@ +package cn.axzo.msg.center.domain.utils; + +import cn.axzo.foundation.dao.support.mysql.type.BaseListTypeHandler; + +/** + * @author yanglin + */ +public class LongListTypeHandler extends BaseListTypeHandler { +} diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/utils/StringListTypeHandler.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/utils/StringListTypeHandler.java new file mode 100644 index 00000000..959fcb93 --- /dev/null +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/utils/StringListTypeHandler.java @@ -0,0 +1,9 @@ +package cn.axzo.msg.center.domain.utils; + +import cn.axzo.foundation.dao.support.mysql.type.BaseListTypeHandler; + +/** + * @author yanglin + */ +public class StringListTypeHandler extends BaseListTypeHandler { +}