refactor(promotion): 将DiyTemplateTypeEnum重命名为DiyTemplatePlatformEnum
- 将DiyTemplateTypeEnum重命名为DiyTemplatePlatformEnum - 更新枚举常量DEFAULT的值从"default"改为"" - 修改字段名从type改为platform - 更新相关VO、DO和Mapper中的字段引用 - 调整查询方法中字段映射关系 - 更新默认平台值获取逻辑pull/227/head
parent
57063b44b0
commit
bf2604db48
|
|
@ -7,14 +7,14 @@ import lombok.Getter;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 模板类型枚举
|
* 模板平台
|
||||||
* <a href="https://uniapp.dcloud.net.cn/api/system/info.html#uniplatform">uniPlatform</a>
|
* <a href="https://uniapp.dcloud.net.cn/api/system/info.html#uniplatform">uniPlatform</a>
|
||||||
* @author wuKong
|
* @author wuKong
|
||||||
*/
|
*/
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Getter
|
@Getter
|
||||||
public enum DiyTemplateTypeEnum implements ArrayValuable<String> {
|
public enum DiyTemplatePlatformEnum implements ArrayValuable<String> {
|
||||||
DEFAULT("default","默认"),
|
DEFAULT("","默认"),
|
||||||
APP("app", "App"),
|
APP("app", "App"),
|
||||||
WEB("web", "Web"),
|
WEB("web", "Web"),
|
||||||
MP_WEIXIN("mp-weixin", "微信小程序"),
|
MP_WEIXIN("mp-weixin", "微信小程序"),
|
||||||
|
|
@ -30,17 +30,17 @@ public enum DiyTemplateTypeEnum implements ArrayValuable<String> {
|
||||||
QUICKAPP_WEBVIEW("quickapp-webview", "快应用通用(包含联盟、华为)"),
|
QUICKAPP_WEBVIEW("quickapp-webview", "快应用通用(包含联盟、华为)"),
|
||||||
QUICKAPP_WEBVIEW_UNION("quickapp-webview-union", "快应用联盟"),
|
QUICKAPP_WEBVIEW_UNION("quickapp-webview-union", "快应用联盟"),
|
||||||
QUICKAPP_WEBVIEW_HUAWEI("quickapp-webview-huawei", "快应用华为"),
|
QUICKAPP_WEBVIEW_HUAWEI("quickapp-webview-huawei", "快应用华为"),
|
||||||
//OTHER_VUSINESS_SCEN("other-business-scen", "其他自定义业务场景"),
|
//OTHER_BUSINESS_SCEN("other-business-scen", "其他自定义业务场景"),
|
||||||
;
|
;
|
||||||
|
|
||||||
private static final String[] ARRAYS =
|
private static final String[] ARRAYS =
|
||||||
Arrays.stream(values()).map(DiyTemplateTypeEnum::getType).toArray(String[]::new);
|
Arrays.stream(values()).map(DiyTemplatePlatformEnum::getPlatform).toArray(String[]::new);
|
||||||
/**
|
/**
|
||||||
* type
|
* type
|
||||||
* 可以是uniPlatform
|
* 可以是uniPlatform
|
||||||
* 也可以是其他自定义的业务场景
|
* 也可以是其他自定义的业务场景
|
||||||
*/
|
*/
|
||||||
private final String type;
|
private final String platform;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* name
|
* name
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package cn.iocoder.yudao.module.promotion.controller.admin.diy.vo.template;
|
package cn.iocoder.yudao.module.promotion.controller.admin.diy.vo.template;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.validation.InEnum;
|
import cn.iocoder.yudao.framework.common.validation.InEnum;
|
||||||
import cn.iocoder.yudao.module.promotion.enums.diy.DiyTemplateTypeEnum;
|
import cn.iocoder.yudao.module.promotion.enums.diy.DiyTemplatePlatformEnum;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@ -25,9 +25,8 @@ public class DiyTemplateBaseVO {
|
||||||
@Schema(description = "预览图", example = "[https://www.iocoder.cn/1.jpg]")
|
@Schema(description = "预览图", example = "[https://www.iocoder.cn/1.jpg]")
|
||||||
private List<String> previewPicUrls;
|
private List<String> previewPicUrls;
|
||||||
|
|
||||||
@Schema(description = "模板类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "默认")
|
@Schema(description = "模板平台", requiredMode = Schema.RequiredMode.REQUIRED, example = "默认")
|
||||||
@NotEmpty(message = "模板类型不能为空")
|
@InEnum(DiyTemplatePlatformEnum.class)
|
||||||
@InEnum(DiyTemplateTypeEnum.class)
|
private String platform;
|
||||||
private String type;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@ public class DiyTemplatePageReqVO extends PageParam {
|
||||||
@Schema(description = "模板名称", example = "默认主题")
|
@Schema(description = "模板名称", example = "默认主题")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "模板类型", example = "默认")
|
@Schema(description = "模板平台", example = "默认")
|
||||||
private String type;
|
private String platform;
|
||||||
|
|
||||||
@Schema(description = "是否使用", example = "true")
|
@Schema(description = "是否使用", example = "true")
|
||||||
private Boolean used;
|
private Boolean used;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.promotion.dal.dataobject.diy;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.type.StringListTypeHandler;
|
import cn.iocoder.yudao.framework.mybatis.core.type.StringListTypeHandler;
|
||||||
import cn.iocoder.yudao.module.promotion.enums.diy.DiyTemplateTypeEnum;
|
import cn.iocoder.yudao.module.promotion.enums.diy.DiyTemplatePlatformEnum;
|
||||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
|
@ -40,10 +40,10 @@ public class DiyTemplateDO extends BaseDO {
|
||||||
*/
|
*/
|
||||||
private String name;
|
private String name;
|
||||||
/**
|
/**
|
||||||
* 模板类型
|
* 模板平台
|
||||||
* {@link DiyTemplateTypeEnum}
|
* {@link DiyTemplatePlatformEnum}
|
||||||
*/
|
*/
|
||||||
private String type;
|
private String platform;
|
||||||
/**
|
/**
|
||||||
* 是否使用
|
* 是否使用
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
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.controller.admin.diy.vo.template.DiyTemplatePageReqVO;
|
||||||
import cn.iocoder.yudao.module.promotion.dal.dataobject.diy.DiyTemplateDO;
|
import cn.iocoder.yudao.module.promotion.dal.dataobject.diy.DiyTemplateDO;
|
||||||
import cn.iocoder.yudao.module.promotion.enums.diy.DiyTemplateTypeEnum;
|
import cn.iocoder.yudao.module.promotion.enums.diy.DiyTemplatePlatformEnum;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -21,7 +21,7 @@ public interface DiyTemplateMapper extends BaseMapperX<DiyTemplateDO> {
|
||||||
return selectPage(reqVO, new LambdaQueryWrapperX<DiyTemplateDO>()
|
return selectPage(reqVO, new LambdaQueryWrapperX<DiyTemplateDO>()
|
||||||
.likeIfPresent(DiyTemplateDO::getName, reqVO.getName())
|
.likeIfPresent(DiyTemplateDO::getName, reqVO.getName())
|
||||||
.eqIfPresent(DiyTemplateDO::getUsed, reqVO.getUsed())
|
.eqIfPresent(DiyTemplateDO::getUsed, reqVO.getUsed())
|
||||||
.eqIfPresent(DiyTemplateDO::getType, reqVO.getType())
|
.eqIfPresent(DiyTemplateDO::getPlatform, reqVO.getPlatform())
|
||||||
.betweenIfPresent(DiyTemplateDO::getUsedTime, reqVO.getUsedTime())
|
.betweenIfPresent(DiyTemplateDO::getUsedTime, reqVO.getUsedTime())
|
||||||
.betweenIfPresent(DiyTemplateDO::getCreateTime, reqVO.getCreateTime())
|
.betweenIfPresent(DiyTemplateDO::getCreateTime, reqVO.getCreateTime())
|
||||||
.orderByDesc(DiyTemplateDO::getUsed) // 排序规则1:已使用的排到最前面
|
.orderByDesc(DiyTemplateDO::getUsed) // 排序规则1:已使用的排到最前面
|
||||||
|
|
@ -32,18 +32,18 @@ public interface DiyTemplateMapper extends BaseMapperX<DiyTemplateDO> {
|
||||||
return selectOne(DiyTemplateDO::getUsed, used);
|
return selectOne(DiyTemplateDO::getUsed, used);
|
||||||
}
|
}
|
||||||
default DiyTemplateDO selectByUsed(boolean used, String type) {
|
default DiyTemplateDO selectByUsed(boolean used, String type) {
|
||||||
return selectOne(DiyTemplateDO::getUsed, used, DiyTemplateDO::getType, type);
|
return selectOne(DiyTemplateDO::getUsed, used, DiyTemplateDO::getPlatform, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
default DiyTemplateDO selectAppByUsed(boolean used, String type) {
|
default DiyTemplateDO selectAppByUsed(boolean used, String type) {
|
||||||
// 1. 没传类型查默认类型,默认类型找不到,取最近一次使用的模板
|
// 1. 没传类型查默认类型,默认类型找不到,取最近一次使用的模板
|
||||||
if (ObjectUtil.isEmpty(type)) {
|
if (ObjectUtil.isEmpty(type)) {
|
||||||
DiyTemplateDO defaultTemplate = selectByUsed(used, DiyTemplateTypeEnum.DEFAULT.getType());
|
DiyTemplateDO defaultTemplate = selectByUsed(used, DiyTemplatePlatformEnum.DEFAULT.getPlatform());
|
||||||
return ObjectUtil.isNotEmpty(defaultTemplate) ? defaultTemplate : lastUsedTemplate(true);
|
return ObjectUtil.isNotEmpty(defaultTemplate) ? defaultTemplate : lastUsedTemplate(true);
|
||||||
}
|
}
|
||||||
// 2. 传了类型根据类型查询,没找到,取默认类型
|
// 2. 传了类型根据类型查询,没找到,取默认类型
|
||||||
DiyTemplateDO typedTemplate = selectByUsed(used, type);
|
DiyTemplateDO typedTemplate = selectByUsed(used, type);
|
||||||
return ObjectUtil.isNotEmpty(typedTemplate) ? typedTemplate : selectByUsed(true, DiyTemplateTypeEnum.DEFAULT.getType());
|
return ObjectUtil.isNotEmpty(typedTemplate) ? typedTemplate : selectByUsed(true, DiyTemplatePlatformEnum.DEFAULT.getPlatform());
|
||||||
}
|
}
|
||||||
|
|
||||||
default DiyTemplateDO lastUsedTemplate(boolean used) {
|
default DiyTemplateDO lastUsedTemplate(boolean used) {
|
||||||
|
|
|
||||||
|
|
@ -128,7 +128,7 @@ public class DiyTemplateServiceImpl implements DiyTemplateService {
|
||||||
DiyTemplateDO diyTemplateDO = validateDiyTemplateExists(id);
|
DiyTemplateDO diyTemplateDO = validateDiyTemplateExists(id);
|
||||||
// TODO @疯狂:要不已使用的情况,抛个业务异常?
|
// TODO @疯狂:要不已使用的情况,抛个业务异常?
|
||||||
// 已使用的更新为未使用,加入模板类型判断
|
// 已使用的更新为未使用,加入模板类型判断
|
||||||
DiyTemplateDO used = diyTemplateMapper.selectByUsed(true, diyTemplateDO.getType());
|
DiyTemplateDO used = diyTemplateMapper.selectByUsed(true, diyTemplateDO.getPlatform());
|
||||||
if (used != null) {
|
if (used != null) {
|
||||||
// 如果 id 相同,说明未发生变化
|
// 如果 id 相同,说明未发生变化
|
||||||
if (used.getId().equals(id)) {
|
if (used.getId().equals(id)) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue