【7.6.0】【sys】【theme】更新主题管理的包依赖

pull/57/head
fengshuonan 2023-06-18 09:36:07 +08:00
parent 32a7d63233
commit 24243e7e02
32 changed files with 647 additions and 80 deletions

View File

@ -26,8 +26,8 @@ package cn.stylefeng.roses.kernel.sys.modular.theme.cache;
import cn.hutool.cache.impl.TimedCache;
import cn.stylefeng.roses.kernel.cache.memory.AbstractMemoryCacheOperator;
import cn.stylefeng.roses.kernel.sys.modular.theme.constants.ThemeConstants;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.DefaultTheme;
import cn.stylefeng.roses.kernel.system.api.constants.SystemCachesConstants;
/**
*
@ -43,7 +43,7 @@ public class ThemeMemoryCache extends AbstractMemoryCacheOperator<DefaultTheme>
@Override
public String getCommonKeyPrefix() {
return SystemCachesConstants.SYSTEM_THEME_CACHE_PREFIX;
return ThemeConstants.SYSTEM_THEME_CACHE_PREFIX;
}
}

View File

@ -25,8 +25,8 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.cache;
import cn.stylefeng.roses.kernel.cache.redis.AbstractRedisCacheOperator;
import cn.stylefeng.roses.kernel.sys.modular.theme.constants.ThemeConstants;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.DefaultTheme;
import cn.stylefeng.roses.kernel.system.api.constants.SystemCachesConstants;
import org.springframework.data.redis.core.RedisTemplate;
/**
@ -43,7 +43,7 @@ public class ThemeRedisCache extends AbstractRedisCacheOperator<DefaultTheme> {
@Override
public String getCommonKeyPrefix() {
return SystemCachesConstants.SYSTEM_THEME_CACHE_PREFIX;
return ThemeConstants.SYSTEM_THEME_CACHE_PREFIX;
}
}

View File

@ -2,8 +2,8 @@ package cn.stylefeng.roses.kernel.sys.modular.theme.clean;
import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi;
import cn.stylefeng.roses.kernel.config.api.ConfigInitCallbackApi;
import cn.stylefeng.roses.kernel.sys.modular.theme.constants.ThemeConstants;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.DefaultTheme;
import cn.stylefeng.roses.kernel.system.api.constants.SystemConstants;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@ -27,7 +27,7 @@ public class ThemeConfigRefresh implements ConfigInitCallbackApi {
@Override
public void initAfter() {
themeCacheApi.remove(SystemConstants.THEME_GUNS_PLATFORM);
themeCacheApi.remove(ThemeConstants.THEME_GUNS_PLATFORM);
}
}

View File

@ -0,0 +1,26 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.constants;
/**
*
*
* @author fengshuonan
* @since 2023/6/18 9:29
*/
public interface ThemeConstants {
/**
*
*/
String SYSTEM_THEME_CACHE_PREFIX = "system_cache";
/**
*
*/
String THEME_GUNS_PLATFORM = "GUNS_PLATFORM";
/**
*
*/
String THEME_CODE_SYSTEM_PREFIX = "GUNS";
}

View File

@ -6,8 +6,8 @@ import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.DefaultTheme;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeService;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeRequest;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@ -31,7 +31,8 @@ public class SysThemeApiController {
* @author fengshuonan
* @since 2022/1/10 18:29
*/
@GetResource(name = "获取当前Guns管理系统的主题数据", path = "/theme/currentThemeInfo", requiredPermission = false, requiredLogin = false)
@GetResource(name = "获取当前Guns管理系统的主题数据", path = "/theme/currentThemeInfo", requiredPermission = false,
requiredLogin = false)
public ResponseData<DefaultTheme> currentThemeInfo(SysThemeRequest sysThemeParam) {
DefaultTheme defaultTheme = sysThemeService.currentThemeInfo(sysThemeParam);
return new SuccessResponseData<>(defaultTheme);

View File

@ -9,9 +9,9 @@ import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysTheme;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeDTO;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeService;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeRequest;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

View File

@ -9,9 +9,9 @@ import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplate;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateDataDTO;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateService;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateDataDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateRequest;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

View File

@ -9,8 +9,8 @@ import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateField;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateFieldRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateFieldService;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateFieldRequest;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@ -39,7 +39,8 @@ public class SysThemeTemplateFieldController {
*/
@PostResource(name = "增加系统主题模板属性", path = "/sysThemeTemplateField/add")
@BusinessLog
public ResponseData<?> add(@RequestBody @Validated(SysThemeTemplateFieldRequest.add.class) SysThemeTemplateFieldRequest sysThemeTemplateFieldParam) {
public ResponseData<?> add(
@RequestBody @Validated(SysThemeTemplateFieldRequest.add.class) SysThemeTemplateFieldRequest sysThemeTemplateFieldParam) {
sysThemeTemplateFieldService.add(sysThemeTemplateFieldParam);
return new SuccessResponseData<>();
}
@ -52,7 +53,8 @@ public class SysThemeTemplateFieldController {
*/
@PostResource(name = "删除系统主题模板属性", path = "/sysThemeTemplateField/del")
@BusinessLog
public ResponseData<?> del(@RequestBody @Validated(SysThemeTemplateFieldRequest.delete.class) SysThemeTemplateFieldRequest sysThemeTemplateFieldParam) {
public ResponseData<?> del(
@RequestBody @Validated(SysThemeTemplateFieldRequest.delete.class) SysThemeTemplateFieldRequest sysThemeTemplateFieldParam) {
sysThemeTemplateFieldService.del(sysThemeTemplateFieldParam);
return new SuccessResponseData<>();
}
@ -65,7 +67,8 @@ public class SysThemeTemplateFieldController {
*/
@PostResource(name = "修改系统模板属性", path = "/sysThemeTemplateField/edit")
@BusinessLog
public ResponseData<?> edit(@RequestBody @Validated(SysThemeTemplateFieldRequest.edit.class) SysThemeTemplateFieldRequest sysThemeTemplateFieldParam) {
public ResponseData<?> edit(
@RequestBody @Validated(SysThemeTemplateFieldRequest.edit.class) SysThemeTemplateFieldRequest sysThemeTemplateFieldParam) {
sysThemeTemplateFieldService.edit(sysThemeTemplateFieldParam);
return new SuccessResponseData<>();
}
@ -77,7 +80,8 @@ public class SysThemeTemplateFieldController {
* @since 2021/12/17 11:49
*/
@GetResource(name = "查询系统主题模板属性详情", path = "/sysThemeTemplateField/detail")
public ResponseData<SysThemeTemplateField> detail(@Validated(SysThemeTemplateFieldRequest.detail.class) SysThemeTemplateFieldRequest sysThemeTemplateFieldParam) {
public ResponseData<SysThemeTemplateField> detail(
@Validated(SysThemeTemplateFieldRequest.detail.class) SysThemeTemplateFieldRequest sysThemeTemplateFieldParam) {
return new SuccessResponseData<>(sysThemeTemplateFieldService.detail(sysThemeTemplateFieldParam));
}

View File

@ -6,8 +6,8 @@ import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateRelRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateRelService;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateRelRequest;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

View File

@ -0,0 +1,60 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.exceptions;
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum;
import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
import lombok.Getter;
/**
*
*
* @author xixiaowei
* @since 2021/12/23 17:00
*/
@Getter
public enum SysThemeExceptionEnum implements AbstractExceptionEnum {
/**
*
*/
THEME_NOT_EXIST(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "121", "系统主题不存在"),
/**
*
*/
THEME_NOT_ALLOW_DELETE(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "122",
"已启用的系统主题不允许删除"),
/**
* 使
*/
THEME_TEMPLATE_IS_DISABLE(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "123",
"禁用的系统主题模板不允许使用"),
/**
*
*/
UNIQUE_ENABLE_NOT_DISABLE(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "124",
"唯一启用的系统主题不允许禁用"),
/**
* GUNS
*/
THEME_IS_SYSTEM(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "125",
"编码前缀为GUNS的是系统内置属性不能删除");
/**
*
*/
private final String errorCode;
/**
*
*/
private final String userTip;
SysThemeExceptionEnum(String errorCode, String userTip) {
this.errorCode = errorCode;
this.userTip = userTip;
}
}

View File

@ -0,0 +1,54 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.exceptions;
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum;
import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
import lombok.Getter;
/**
*
*
* @author xixiaowei
* @since 2021/12/23 17:01
*/
@Getter
public enum SysThemeTemplateExceptionEnum implements AbstractExceptionEnum {
/**
*
*/
TEMPLATE_NOT_EXIT(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "111", "系统主题模板不存在"),
/**
*
*/
TEMPLATE_IS_ENABLE(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "112",
"已启用的系统主题模板不允许删除"),
/**
* 使
*/
TEMPLATE_IS_USED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "113",
"系统主题模板正在被使用,不允许操作"),
/**
*
*/
TEMPLATE_NOT_ATTRIBUTE(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "114",
"系统主题模板没有属性,不允许启用");
/**
*
*/
private final String errorCode;
/**
*
*/
private final String userTip;
SysThemeTemplateExceptionEnum(String errorCode, String userTip) {
this.errorCode = errorCode;
this.userTip = userTip;
}
}

View File

@ -0,0 +1,42 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.exceptions;
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum;
import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
import lombok.Getter;
/**
*
*
* @author xixiaowei
* @since 2021/12/23 17:01
*/
@Getter
public enum SysThemeTemplateFieldExceptionEnum implements AbstractExceptionEnum {
/**
*
*/
FIELD_NOT_EXIST(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "101", "系统主题模板属性不存在"),
/**
* 使
*/
FIELD_IS_USED(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "102",
"系统主题模板属性正在被使用,不允许操作");
/**
*
*/
private final String errorCode;
/**
*
*/
private final String userTip;
SysThemeTemplateFieldExceptionEnum(String errorCode, String userTip) {
this.errorCode = errorCode;
this.userTip = userTip;
}
}

View File

@ -0,0 +1,31 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.exceptions;
import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum;
import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
import lombok.Getter;
@Getter
public enum SysThemeTemplateRelExceptionEnum implements AbstractExceptionEnum {
/**
*
*/
RELATION_NOT_EXIST(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SysConstants.SYS_EXCEPTION_STEP_CODE + "131",
"系统主题模板属性关系不存在");
/**
*
*/
private final String errorCode;
/**
*
*/
private final String userTip;
SysThemeTemplateRelExceptionEnum(String errorCode, String userTip) {
this.errorCode = errorCode;
this.userTip = userTip;
}
}

View File

@ -1,7 +1,7 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.mapper;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplate;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateDataDTO;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateDataDTO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.stylefeng.roses.kernel.system.modular.theme.mapper.SysThemeMapper">
<mapper namespace="cn.stylefeng.roses.kernel.sys.modular.theme.mapper.SysThemeMapper">
</mapper>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.stylefeng.roses.kernel.system.modular.theme.mapper.SysThemeTemplateFieldMapper">
<mapper namespace="cn.stylefeng.roses.kernel.sys.modular.theme.mapper.SysThemeTemplateFieldMapper">
</mapper>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.stylefeng.roses.kernel.system.modular.theme.mapper.SysThemeTemplateMapper">
<mapper namespace="cn.stylefeng.roses.kernel.sys.modular.theme.mapper.SysThemeTemplateMapper">
<resultMap id="sysThemeTemplateResult" type="cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateDataDTO">
<resultMap id="sysThemeTemplateResult" type="cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateDataDTO">
<result property="templateId" column="template_id"/>
<result property="templateCode" column="template_code"/>
<result property="templateName" column="template_name"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.stylefeng.roses.kernel.system.modular.theme.mapper.SysThemeTemplateRelMapper">
<mapper namespace="cn.stylefeng.roses.kernel.sys.modular.theme.mapper.SysThemeTemplateRelMapper">
</mapper>

View File

@ -0,0 +1,58 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.pojo;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import lombok.Data;
import java.util.Date;
/**
*
*
* @author xixiaowei
* @since 2021/12/31 10:01
*/
@Data
public class SysThemeDTO {
/**
* ID
*/
@ChineseDescription("主键id")
private Long themeId;
/**
*
*/
@ChineseDescription("主题名称")
private String themeName;
/**
* (JSON)
*/
@ChineseDescription("主题属性(JSON格式)")
private String themeValue;
/**
* ID
*/
@ChineseDescription("主题模板id")
private Long templateId;
/**
* Y-N-
*/
@ChineseDescription("启用状态Y-启用N-禁用")
private Character statusFlag;
/**
*
*/
@ChineseDescription("模板名称,用于前端数据渲染")
private String templateName;
/**
*
*/
@ChineseDescription("创建时间")
private Date createTime;
}

View File

@ -0,0 +1,48 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.pojo;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
*
*
* @author xixiaowei
* @since 2021/12/17 16:20
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class SysThemeRequest extends BaseRequest {
/**
* ID
*/
@NotNull(message = "主键ID不能为空", groups = {edit.class, delete.class, detail.class, updateStatus.class})
@ChineseDescription("主键ID")
private Long themeId;
/**
*
*/
@NotBlank(message = "主题名称不能为空", groups = {add.class, edit.class})
@ChineseDescription("主题名称")
private String themeName;
/**
* (JSON)
*/
@NotBlank(message = "主题属性不能为空", groups = {add.class, edit.class})
@ChineseDescription("主题属性")
private String themeValue;
/**
* ID
*/
@NotNull(message = "主题模板ID不能为空", groups = {add.class, edit.class})
@ChineseDescription("主题模板ID")
private Long templateId;
}

View File

@ -0,0 +1,74 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.pojo;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import lombok.Data;
/**
*
*
* @author xixiaowei
* @since 2021/12/17 15:20
*/
@Data
public class SysThemeTemplateDataDTO {
/**
* ID
*/
@ChineseDescription("主键id")
private Long templateId;
/**
*
*/
@ChineseDescription("主题模板名称")
private String templateName;
/**
*
*/
@ChineseDescription("主题模板编码")
private String templateCode;
/**
* ID
*/
@ChineseDescription("属性字段id")
private Long fieldId;
/**
*
*/
@ChineseDescription("属性名称")
private String fieldName;
/**
*
*/
@ChineseDescription("想属性编码")
private String fieldCode;
/**
*
*/
@ChineseDescription("属性展示类型")
private String fieldType;
/**
* Y-N-
*/
@ChineseDescription("是否必填Y-必填N-非必填")
private Character fieldRequired;
/**
*
*/
@ChineseDescription("属性长度")
private Integer fieldLength;
/**
*
*/
@ChineseDescription("属性描述")
private String fieldDescription;
}

View File

@ -0,0 +1,69 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.pojo;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
*
*
* @author xixiaowei
* @since 2021/12/17 10:42
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class SysThemeTemplateFieldRequest extends BaseRequest {
/**
* ID
*/
@NotNull(message = "主键ID不能为空", groups = {edit.class, delete.class, detail.class})
@ChineseDescription("主键ID")
private Long fieldId;
/**
* ID
*/
@ChineseDescription("模板ID")
private Long templateId;
/**
*
*/
@NotBlank(message = "属性名称不能为空", groups = {add.class, edit.class})
@ChineseDescription("属性名称")
private String fieldName;
@NotNull(message = "属性编码不能为空", groups = {add.class, edit.class})
@ChineseDescription("属性编码")
private String fieldCode;
/**
* ()
*/
@NotBlank(message = "属性展示类型不能为空", groups = {add.class, edit.class})
@ChineseDescription("属性展示类型")
private String fieldType;
/**
* Y-N-
*/
@ChineseDescription("是否必填")
private Character fieldRequired;
/**
*
*/
@ChineseDescription("属性长度")
private Integer fieldLength;
/**
*
*/
@ChineseDescription("属性描述")
private String fieldDescription;
}

View File

@ -0,0 +1,40 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.pojo;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
*
*
* @author xixiaowei
* @since 2021/12/24 10:42
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class SysThemeTemplateRelRequest extends BaseRequest {
/**
* ID
*/
@ChineseDescription("主键ID")
private Long relationId;
/**
* ID
*/
@NotNull(message = "模板ID不能为空", groups = {add.class})
@ChineseDescription("模板ID")
private Long templateId;
/**
*
*/
@NotEmpty(message = "属性编码集合不能为空", groups = {add.class, delete.class})
@ChineseDescription("属性编码集合")
private String[] fieldCodes;
}

View File

@ -0,0 +1,54 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.pojo;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
*
*
* @author xixiaowei
* @since 2021/12/17 16:19
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class SysThemeTemplateRequest extends BaseRequest {
/**
* ID
*/
@NotNull(message = "主键ID不能为空", groups = {edit.class, delete.class, detail.class, updateStatus.class})
@ChineseDescription("主键ID")
private Long templateId;
/**
*
*/
@NotBlank(message = "主题模板名称不能为空", groups = {add.class, edit.class})
@ChineseDescription("主题模板名称")
private String templateName;
/**
*
*/
@NotNull(message = "主题模板编码不能为空", groups = {add.class, edit.class})
@ChineseDescription("主题模板编码")
private String templateCode;
/**
* 1-2-
*/
@NotNull(message = "主题模板类型不能为空", groups = {add.class, edit.class})
@ChineseDescription("主题模板类型")
private Short templateType;
/**
* Y-N-
*/
@ChineseDescription("主题模板启用状态")
private Character statusFlag;
}

View File

@ -3,8 +3,8 @@ package cn.stylefeng.roses.kernel.sys.modular.theme.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysTheme;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.DefaultTheme;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeDTO;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeRequest;
import com.baomidou.mybatisplus.extension.service.IService;
/**

View File

@ -2,7 +2,7 @@ package cn.stylefeng.roses.kernel.sys.modular.theme.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateField;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateFieldRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateFieldRequest;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;

View File

@ -1,7 +1,7 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.service;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateRel;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateRelRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateRelRequest;
import com.baomidou.mybatisplus.extension.service.IService;
/**

View File

@ -2,8 +2,8 @@ package cn.stylefeng.roses.kernel.sys.modular.theme.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplate;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateDataDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateDataDTO;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateRequest;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;

View File

@ -14,24 +14,23 @@ import cn.stylefeng.roses.kernel.file.api.pojo.AntdvFileInfo;
import cn.stylefeng.roses.kernel.file.api.pojo.request.SysFileInfoRequest;
import cn.stylefeng.roses.kernel.rule.callback.ConfigUpdateCallback;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import cn.stylefeng.roses.kernel.sys.api.exception.SysException;
import cn.stylefeng.roses.kernel.sys.modular.theme.constants.ThemeConstants;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysTheme;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplate;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateField;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateRel;
import cn.stylefeng.roses.kernel.sys.modular.theme.enums.ThemeFieldTypeEnum;
import cn.stylefeng.roses.kernel.sys.modular.theme.exceptions.SysThemeExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.theme.factory.DefaultThemeFactory;
import cn.stylefeng.roses.kernel.sys.modular.theme.mapper.SysThemeMapper;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.DefaultTheme;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeDTO;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeService;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateFieldService;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateRelService;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateService;
import cn.stylefeng.roses.kernel.system.api.ThemeServiceApi;
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.pojo.theme.SysThemeDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeRequest;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.TypeReference;
@ -58,7 +57,7 @@ import java.util.stream.Collectors;
*/
@Service
@Slf4j
public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> implements SysThemeService, ThemeServiceApi, ConfigUpdateCallback {
public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> implements SysThemeService, ConfigUpdateCallback {
@Resource
private SysThemeTemplateService sysThemeTemplateService;
@ -82,7 +81,7 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
// 判断模板启用状态:如果为禁用状态不允许使用
if (YesOrNotEnum.N.getCode().equals(sysThemeTemplate.getStatusFlag().toString())) {
throw new SystemModularException(SysThemeExceptionEnum.THEME_TEMPLATE_IS_DISABLE);
throw new SysException(SysThemeExceptionEnum.THEME_TEMPLATE_IS_DISABLE);
}
SysTheme sysTheme = new SysTheme();
@ -102,7 +101,7 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
// 已启用的主题不允许删除
if (YesOrNotEnum.Y.getCode().equals(sysTheme.getStatusFlag().toString())) {
throw new SystemModularException(SysThemeExceptionEnum.THEME_NOT_ALLOW_DELETE);
throw new SysException(SysThemeExceptionEnum.THEME_NOT_ALLOW_DELETE);
}
// 删除保存的图片
@ -117,8 +116,8 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
List<String> fileNames = new ArrayList<>();
if (themeKeys.size() > 0) {
LambdaQueryWrapper<SysThemeTemplateField> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(SysThemeTemplateField::getFieldCode, themeKeys).eq(SysThemeTemplateField::getFieldType, ThemeFieldTypeEnum.FILE.getCode())
.select(SysThemeTemplateField::getFieldCode);
queryWrapper.in(SysThemeTemplateField::getFieldCode, themeKeys)
.eq(SysThemeTemplateField::getFieldType, ThemeFieldTypeEnum.FILE.getCode()).select(SysThemeTemplateField::getFieldCode);
List<SysThemeTemplateField> sysThemeTemplateFields = sysThemeTemplateFieldService.list(queryWrapper);
fileNames = sysThemeTemplateFields.stream().map(SysThemeTemplateField::getFieldCode).collect(Collectors.toList());
}
@ -174,7 +173,8 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
sysThemeDTOList.add(sysThemeDTO);
}
return PageResultFactory.createPageResult(sysThemeDTOList, page.getTotal(), Integer.valueOf(String.valueOf(page.getSize())), Integer.valueOf(String.valueOf(page.getCurrent())));
return PageResultFactory.createPageResult(sysThemeDTOList, page.getTotal(), Integer.valueOf(String.valueOf(page.getSize())),
Integer.valueOf(String.valueOf(page.getCurrent())));
}
@Override
@ -211,7 +211,7 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
// 已经启用系统主题不允许禁用
if (YesOrNotEnum.Y.getCode().equals(sysTheme.getStatusFlag().toString())) {
throw new SystemModularException(SysThemeExceptionEnum.UNIQUE_ENABLE_NOT_DISABLE);
throw new SysException(SysThemeExceptionEnum.UNIQUE_ENABLE_NOT_DISABLE);
} else {
// 如果当前系统禁用,启用该系统主题,同时禁用已启用的系统主题
sysTheme.setStatusFlag(YesOrNotEnum.Y.getCode().charAt(0));
@ -235,7 +235,7 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
public DefaultTheme currentThemeInfo(SysThemeRequest sysThemeParam) {
// 获取缓存中是否有默认主题
DefaultTheme defaultTheme = themeCacheApi.get(SystemConstants.THEME_GUNS_PLATFORM);
DefaultTheme defaultTheme = themeCacheApi.get(ThemeConstants.THEME_GUNS_PLATFORM);
if (defaultTheme != null) {
return defaultTheme;
}
@ -247,7 +247,7 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
this.parseFileUrls(result);
// 缓存系统中激活的主题
themeCacheApi.put(SystemConstants.THEME_GUNS_PLATFORM, result);
themeCacheApi.put(ThemeConstants.THEME_GUNS_PLATFORM, result);
return result;
}
@ -269,7 +269,7 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
private SysTheme querySysThemeById(SysThemeRequest sysThemeRequest) {
SysTheme sysTheme = this.getById(sysThemeRequest.getThemeId());
if (ObjectUtil.isNull(sysTheme)) {
throw new SystemModularException(SysThemeExceptionEnum.THEME_NOT_EXIST);
throw new SysException(SysThemeExceptionEnum.THEME_NOT_EXIST);
}
return sysTheme;
}
@ -345,7 +345,8 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
}
// 所有文件类型的字段名
List<String> needToParse = fieldInfoList.stream().map(SysThemeTemplateField::getFieldCode).map(StrUtil::toCamelCase).collect(Collectors.toList());
List<String> needToParse = fieldInfoList.stream().map(SysThemeTemplateField::getFieldCode).map(StrUtil::toCamelCase)
.collect(Collectors.toList());
// 其他属性
Map<String, String> otherConfigs = theme.getOtherConfigs();
@ -389,7 +390,7 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
private Long getDefaultTemplateId() {
// 查询编码为GUNS_PLATFORM的主题模板id
LambdaQueryWrapper<SysThemeTemplate> sysThemeTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>();
sysThemeTemplateLambdaQueryWrapper.eq(SysThemeTemplate::getTemplateCode, SystemConstants.THEME_GUNS_PLATFORM);
sysThemeTemplateLambdaQueryWrapper.eq(SysThemeTemplate::getTemplateCode, ThemeConstants.THEME_GUNS_PLATFORM);
SysThemeTemplate sysThemeTemplate = this.sysThemeTemplateService.getOne(sysThemeTemplateLambdaQueryWrapper, false);
if (sysThemeTemplate == null) {
log.error("当前系统主题模板编码GUNS_PLATFORM不存在请检查数据库数据是否正常");
@ -405,7 +406,7 @@ public class SysThemeServiceImpl extends ServiceImpl<SysThemeMapper, SysTheme> i
* @since 2022/1/12 12:49
*/
private void clearThemeCache() {
themeCacheApi.remove(SystemConstants.THEME_GUNS_PLATFORM);
themeCacheApi.remove(ThemeConstants.THEME_GUNS_PLATFORM);
}
}

View File

@ -7,17 +7,17 @@ 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.sys.api.exception.SysException;
import cn.stylefeng.roses.kernel.sys.modular.theme.constants.ThemeConstants;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateField;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateRel;
import cn.stylefeng.roses.kernel.sys.modular.theme.enums.ThemeFieldTypeEnum;
import cn.stylefeng.roses.kernel.sys.modular.theme.exceptions.SysThemeExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.theme.exceptions.SysThemeTemplateFieldExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.theme.mapper.SysThemeTemplateFieldMapper;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateFieldRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateFieldService;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateRelService;
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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -36,7 +36,8 @@ import java.util.stream.Collectors;
* @since 2021/12/17 10:34
*/
@Service
public class SysThemeTemplateFieldServiceImpl extends ServiceImpl<SysThemeTemplateFieldMapper, SysThemeTemplateField> implements SysThemeTemplateFieldService {
public class SysThemeTemplateFieldServiceImpl extends ServiceImpl<SysThemeTemplateFieldMapper, SysThemeTemplateField> implements
SysThemeTemplateFieldService {
@Resource
private SysThemeTemplateRelService sysThemeTemplateRelService;
@ -49,7 +50,8 @@ public class SysThemeTemplateFieldServiceImpl extends ServiceImpl<SysThemeTempla
BeanUtil.copyProperties(sysThemeTemplateFieldRequest, sysThemeTemplateField);
// 设置是否必填:如果请求参数为空,默认设置为非必填
sysThemeTemplateField.setFieldRequired(StringUtils.isBlank(sysThemeTemplateFieldRequest.getFieldType()) ? YesOrNotEnum.N.getCode().charAt(0) : sysThemeTemplateFieldRequest.getFieldRequired());
sysThemeTemplateField.setFieldRequired(StringUtils.isBlank(sysThemeTemplateFieldRequest.getFieldType()) ? YesOrNotEnum.N.getCode()
.charAt(0) : sysThemeTemplateFieldRequest.getFieldRequired());
this.save(sysThemeTemplateField);
}
@ -59,8 +61,8 @@ public class SysThemeTemplateFieldServiceImpl extends ServiceImpl<SysThemeTempla
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);
if (sysThemeTemplateField.getFieldCode().toUpperCase(Locale.ROOT).startsWith(ThemeConstants.THEME_CODE_SYSTEM_PREFIX)) {
throw new SysException(SysThemeExceptionEnum.THEME_IS_SYSTEM);
}
// 校验系统主题模板属性使用
@ -84,7 +86,7 @@ public class SysThemeTemplateFieldServiceImpl extends ServiceImpl<SysThemeTempla
// 被使用,抛出异常
if (themeTemplateRels.size() > 0) {
throw new SystemModularException(SysThemeTemplateFieldExceptionEnum.FIELD_IS_USED);
throw new SysException(SysThemeTemplateFieldExceptionEnum.FIELD_IS_USED);
}
}
@ -110,7 +112,8 @@ public class SysThemeTemplateFieldServiceImpl extends ServiceImpl<SysThemeTempla
public PageResult<SysThemeTemplateField> findPage(SysThemeTemplateFieldRequest sysThemeTemplateFieldRequest) {
LambdaQueryWrapper<SysThemeTemplateField> queryWrapper = new LambdaQueryWrapper<>();
// 根据属性名称模糊查询
queryWrapper.like(StrUtil.isNotBlank(sysThemeTemplateFieldRequest.getFieldName()), SysThemeTemplateField::getFieldName, sysThemeTemplateFieldRequest.getFieldName());
queryWrapper.like(StrUtil.isNotBlank(sysThemeTemplateFieldRequest.getFieldName()), SysThemeTemplateField::getFieldName,
sysThemeTemplateFieldRequest.getFieldName());
Page<SysThemeTemplateField> page = page(PageFactory.defaultPage(), queryWrapper);
@ -140,7 +143,8 @@ public class SysThemeTemplateFieldServiceImpl extends ServiceImpl<SysThemeTempla
* @author xixiaowei
* @since 2021/12/24 14:38
*/
private List<String> getFieldCodes(SysThemeTemplateFieldRequest sysThemeTemplateFieldRequest, SysThemeTemplateRelService sysThemeTemplateRelService) {
private List<String> getFieldCodes(SysThemeTemplateFieldRequest sysThemeTemplateFieldRequest,
SysThemeTemplateRelService sysThemeTemplateRelService) {
// 查询有关联的属性
LambdaQueryWrapper<SysThemeTemplateRel> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysThemeTemplateRel::getTemplateId, sysThemeTemplateFieldRequest.getTemplateId());
@ -197,7 +201,7 @@ public class SysThemeTemplateFieldServiceImpl extends ServiceImpl<SysThemeTempla
private SysThemeTemplateField queryThemeTemplateFieldById(SysThemeTemplateFieldRequest sysThemeTemplateFieldRequest) {
SysThemeTemplateField sysThemeTemplateField = this.getById(sysThemeTemplateFieldRequest.getFieldId());
if (ObjectUtil.isNull(sysThemeTemplateField)) {
throw new SystemModularException(SysThemeTemplateFieldExceptionEnum.FIELD_NOT_EXIST);
throw new SysException(SysThemeTemplateFieldExceptionEnum.FIELD_NOT_EXIST);
}
return sysThemeTemplateField;
}

View File

@ -1,14 +1,14 @@
package cn.stylefeng.roses.kernel.sys.modular.theme.service.impl;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import cn.stylefeng.roses.kernel.sys.api.exception.SysException;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplate;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateRel;
import cn.stylefeng.roses.kernel.sys.modular.theme.exceptions.SysThemeTemplateExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.theme.mapper.SysThemeTemplateRelMapper;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateRelRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateRelService;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateService;
import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException;
import cn.stylefeng.roses.kernel.system.api.exception.enums.theme.SysThemeTemplateExceptionEnum;
import cn.stylefeng.roses.kernel.system.api.pojo.theme.SysThemeTemplateRelRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@ -66,7 +66,7 @@ public class SysThemeTemplateRelServiceImpl extends ServiceImpl<SysThemeTemplate
SysThemeTemplate sysThemeTemplate = sysThemeTemplateService.getOne(queryWrapper, true);
// 判断状态,如果是启用则禁止操作
if (YesOrNotEnum.Y.getCode().equals(sysThemeTemplate.getStatusFlag().toString())) {
throw new SystemModularException(SysThemeTemplateExceptionEnum.TEMPLATE_IS_USED);
throw new SysException(SysThemeTemplateExceptionEnum.TEMPLATE_IS_USED);
}
}

View File

@ -7,19 +7,19 @@ 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.sys.api.exception.SysException;
import cn.stylefeng.roses.kernel.sys.modular.theme.constants.ThemeConstants;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysTheme;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplate;
import cn.stylefeng.roses.kernel.sys.modular.theme.entity.SysThemeTemplateRel;
import cn.stylefeng.roses.kernel.sys.modular.theme.exceptions.SysThemeExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.theme.exceptions.SysThemeTemplateExceptionEnum;
import cn.stylefeng.roses.kernel.sys.modular.theme.mapper.SysThemeTemplateMapper;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateDataDTO;
import cn.stylefeng.roses.kernel.sys.modular.theme.pojo.SysThemeTemplateRequest;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeService;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateRelService;
import cn.stylefeng.roses.kernel.sys.modular.theme.service.SysThemeTemplateService;
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;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -66,7 +66,7 @@ public class SysThemeTemplateServiceImpl extends ServiceImpl<SysThemeTemplateMap
SysThemeTemplate sysThemeTemplate = this.querySysThemeTemplateById(sysThemeTemplateRequest);
if (YesOrNotEnum.Y.getCode().equals(sysThemeTemplate.getStatusFlag().toString())) {
throw new SystemModularException(SysThemeTemplateExceptionEnum.TEMPLATE_IS_USED);
throw new SysException(SysThemeTemplateExceptionEnum.TEMPLATE_IS_USED);
}
// 拷贝属性
@ -81,13 +81,13 @@ public class SysThemeTemplateServiceImpl extends ServiceImpl<SysThemeTemplateMap
SysThemeTemplate sysThemeTemplate = this.querySysThemeTemplateById(sysThemeTemplateRequest);
// Guns开头的模板字段不能删除系统内置
if (sysThemeTemplate.getTemplateCode().toUpperCase(Locale.ROOT).startsWith(SystemConstants.THEME_CODE_SYSTEM_PREFIX)) {
throw new SystemModularException(SysThemeExceptionEnum.THEME_IS_SYSTEM);
if (sysThemeTemplate.getTemplateCode().toUpperCase(Locale.ROOT).startsWith(ThemeConstants.THEME_CODE_SYSTEM_PREFIX)) {
throw new SysException(SysThemeExceptionEnum.THEME_IS_SYSTEM);
}
// 启动的主题模板不能删除
if (YesOrNotEnum.Y.getCode().equals(sysThemeTemplate.getStatusFlag().toString())) {
throw new SystemModularException(SysThemeTemplateExceptionEnum.TEMPLATE_IS_ENABLE);
throw new SysException(SysThemeTemplateExceptionEnum.TEMPLATE_IS_ENABLE);
}
// 删除关联关系条件
@ -105,7 +105,8 @@ public class SysThemeTemplateServiceImpl extends ServiceImpl<SysThemeTemplateMap
public PageResult<SysThemeTemplate> findPage(SysThemeTemplateRequest sysThemeTemplateRequest) {
LambdaQueryWrapper<SysThemeTemplate> queryWrapper = new LambdaQueryWrapper<>();
// 根据系统主题模板名称模糊查询
queryWrapper.like(StrUtil.isNotBlank(sysThemeTemplateRequest.getTemplateName()), SysThemeTemplate::getTemplateName, sysThemeTemplateRequest.getTemplateName());
queryWrapper.like(StrUtil.isNotBlank(sysThemeTemplateRequest.getTemplateName()), SysThemeTemplate::getTemplateName,
sysThemeTemplateRequest.getTemplateName());
Page<SysThemeTemplate> page = page(PageFactory.defaultPage(), queryWrapper);
@ -126,7 +127,7 @@ public class SysThemeTemplateServiceImpl extends ServiceImpl<SysThemeTemplateMap
queryWrapper.eq(SysTheme::getTemplateId, sysThemeTemplate.getTemplateId());
long sysThemeNum = sysThemeService.count(queryWrapper);
if (sysThemeNum > 0) {
throw new SystemModularException(SysThemeTemplateExceptionEnum.TEMPLATE_IS_USED);
throw new SysException(SysThemeTemplateExceptionEnum.TEMPLATE_IS_USED);
}
// 修改状态
@ -140,7 +141,7 @@ public class SysThemeTemplateServiceImpl extends ServiceImpl<SysThemeTemplateMap
List<SysThemeTemplateRel> sysThemeTemplateRels = sysThemeTemplateRelService.list(wrapper);
if (sysThemeTemplateRels.size() <= 0) {
throw new SystemModularException(SysThemeTemplateExceptionEnum.TEMPLATE_NOT_ATTRIBUTE);
throw new SysException(SysThemeTemplateExceptionEnum.TEMPLATE_NOT_ATTRIBUTE);
}
sysThemeTemplate.setStatusFlag(YesOrNotEnum.Y.getCode().charAt(0));
@ -164,7 +165,7 @@ public class SysThemeTemplateServiceImpl extends ServiceImpl<SysThemeTemplateMap
private SysThemeTemplate querySysThemeTemplateById(SysThemeTemplateRequest sysThemeTemplateRequest) {
SysThemeTemplate sysThemeTemplate = this.getById(sysThemeTemplateRequest.getTemplateId());
if (ObjectUtil.isNull(sysThemeTemplate)) {
throw new SystemModularException(SysThemeTemplateExceptionEnum.TEMPLATE_NOT_EXIT);
throw new SysException(SysThemeTemplateExceptionEnum.TEMPLATE_NOT_EXIT);
}
return sysThemeTemplate;
}