feat(promotion): 添加DIY模板类型枚举验证

- 在DiyTemplateBaseVO中添加DiyTemplateTypeEnum枚举验证注解
- 将硬编码的"default"字符串替换为DiyTemplateTypeEnum.DEFAULT.getType()
- 统一模板类型的枚举管理,提高代码类型安全性
pull/227/head
wuKong 2025-12-29 18:20:50 +08:00
parent 3b254a731d
commit 57063b44b0
2 changed files with 6 additions and 2 deletions

View File

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.promotion.controller.admin.diy.vo.template;
import cn.iocoder.yudao.framework.common.validation.InEnum;
import cn.iocoder.yudao.module.promotion.enums.diy.DiyTemplateTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
@ -25,6 +27,7 @@ public class DiyTemplateBaseVO {
@Schema(description = "模板类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "默认")
@NotEmpty(message = "模板类型不能为空")
@InEnum(DiyTemplateTypeEnum.class)
private String type;
}

View File

@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.promotion.controller.admin.diy.vo.template.DiyTemplatePageReqVO;
import cn.iocoder.yudao.module.promotion.dal.dataobject.diy.DiyTemplateDO;
import cn.iocoder.yudao.module.promotion.enums.diy.DiyTemplateTypeEnum;
import org.apache.ibatis.annotations.Mapper;
/**
@ -37,12 +38,12 @@ public interface DiyTemplateMapper extends BaseMapperX<DiyTemplateDO> {
default DiyTemplateDO selectAppByUsed(boolean used, String type) {
// 1. 没传类型查默认类型,默认类型找不到,取最近一次使用的模板
if (ObjectUtil.isEmpty(type)) {
DiyTemplateDO defaultTemplate = selectByUsed(used, "default");
DiyTemplateDO defaultTemplate = selectByUsed(used, DiyTemplateTypeEnum.DEFAULT.getType());
return ObjectUtil.isNotEmpty(defaultTemplate) ? defaultTemplate : lastUsedTemplate(true);
}
// 2. 传了类型根据类型查询,没找到,取默认类型
DiyTemplateDO typedTemplate = selectByUsed(used, type);
return ObjectUtil.isNotEmpty(typedTemplate) ? typedTemplate : selectByUsed(true, "default");
return ObjectUtil.isNotEmpty(typedTemplate) ? typedTemplate : selectByUsed(true, DiyTemplateTypeEnum.DEFAULT.getType());
}
default DiyTemplateDO lastUsedTemplate(boolean used) {