mirror of https://gitee.com/stylefeng/roses
【7.1.6】【theme】系统内置主题模板和主题字段不能删除
parent
a7002469a4
commit
d8520adff2
|
@ -67,6 +67,16 @@ public interface SystemConstants {
|
|||
*/
|
||||
Integer SUPER_ADMIN_INIT_LISTENER_SORT = 400;
|
||||
|
||||
/**
|
||||
* 主题编码相关的系统变量前缀
|
||||
*/
|
||||
String THEME_CODE_SYSTEM_PREFIX = "GUNS";
|
||||
|
||||
/**
|
||||
* 系统内置主题模板的编码
|
||||
*/
|
||||
String THEME_GUNS_PLATFORM = "GUNS_PLATFORM";
|
||||
|
||||
/**
|
||||
* FieldMetadata类全路径
|
||||
*/
|
||||
|
|
|
@ -32,7 +32,12 @@ public enum SysThemeExceptionEnum implements AbstractExceptionEnum {
|
|||
/**
|
||||
* 唯一启用的系统主题不允许禁用
|
||||
*/
|
||||
UNIQUE_ENABLE_NOT_DISABLE(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "124", "唯一启用的系统主题不允许禁用");
|
||||
UNIQUE_ENABLE_NOT_DISABLE(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "124", "唯一启用的系统主题不允许禁用"),
|
||||
|
||||
/**
|
||||
* 编码前缀为GUNS的是系统内置属性,不能删除
|
||||
*/
|
||||
THEME_IS_SYSTEM(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "125", "编码前缀为GUNS的是系统内置属性,不能删除");
|
||||
|
||||
/**
|
||||
* 错误编码
|
||||
|
|
|
@ -7,7 +7,9 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
|||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||
import cn.stylefeng.roses.kernel.system.api.constants.SystemConstants;
|
||||
import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException;
|
||||
import cn.stylefeng.roses.kernel.system.api.exception.enums.theme.SysThemeExceptionEnum;
|
||||
import cn.stylefeng.roses.kernel.system.api.exception.enums.theme.SysThemeTemplateFieldExceptionEnum;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateFieldRequest;
|
||||
import cn.stylefeng.roses.kernel.system.modular.theme.entity.SysThemeTemplateField;
|
||||
|
@ -24,6 +26,7 @@ import org.springframework.stereotype.Service;
|
|||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
@ -55,6 +58,11 @@ public class SysThemeTemplateFieldServiceImpl extends ServiceImpl<SysThemeTempla
|
|||
public void del(SysThemeTemplateFieldRequest sysThemeTemplateFieldRequest) {
|
||||
SysThemeTemplateField sysThemeTemplateField = this.queryThemeTemplateFieldById(sysThemeTemplateFieldRequest);
|
||||
|
||||
// Guns开头的模板字段不能删除,系统内置
|
||||
if (sysThemeTemplateField.getFieldCode().toUpperCase(Locale.ROOT).startsWith(SystemConstants.THEME_CODE_SYSTEM_PREFIX)) {
|
||||
throw new SystemModularException(SysThemeExceptionEnum.THEME_IS_SYSTEM);
|
||||
}
|
||||
|
||||
// 校验系统主题模板属性使用
|
||||
this.verificationAttributeUsage(sysThemeTemplateField);
|
||||
|
||||
|
|
|
@ -7,7 +7,9 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
|
|||
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
|
||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||
import cn.stylefeng.roses.kernel.system.api.constants.SystemConstants;
|
||||
import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException;
|
||||
import cn.stylefeng.roses.kernel.system.api.exception.enums.theme.SysThemeExceptionEnum;
|
||||
import cn.stylefeng.roses.kernel.system.api.exception.enums.theme.SysThemeTemplateExceptionEnum;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateDataDTO;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateRequest;
|
||||
|
@ -26,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* 系统主题模板service接口实现类
|
||||
|
@ -77,6 +80,12 @@ public class SysThemeTemplateServiceImpl extends ServiceImpl<SysThemeTemplateMap
|
|||
public void del(SysThemeTemplateRequest sysThemeTemplateRequest) {
|
||||
SysThemeTemplate sysThemeTemplate = this.querySysThemeTemplateById(sysThemeTemplateRequest);
|
||||
|
||||
// Guns开头的模板字段不能删除,系统内置
|
||||
if (sysThemeTemplateRequest.getTemplateCode().toUpperCase(Locale.ROOT).startsWith(SystemConstants.THEME_CODE_SYSTEM_PREFIX)) {
|
||||
throw new SystemModularException(SysThemeExceptionEnum.THEME_IS_SYSTEM);
|
||||
}
|
||||
|
||||
// 启动的主题模板不能删除
|
||||
if (YesOrNotEnum.Y.getCode().equals(sysThemeTemplate.getStatusFlag().toString())) {
|
||||
throw new SystemModularException(SysThemeTemplateExceptionEnum.TEMPLATE_IS_ENABLE);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue