style: 枚举接口 BaseEnum => IBaseEnum

This commit is contained in:
Charles7c 2023-10-25 23:12:03 +08:00
parent 43590bf66e
commit f5e8b0943c
16 changed files with 46 additions and 48 deletions

View File

@ -21,16 +21,14 @@ import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IEnum;
/**
* 枚举基类
* 枚举接口
*
* @param <V>
* value 类型
* @param <D>
* description 类型
* @author Charles7c
* @since 2023/2/5 20:44
*/
public interface BaseEnum<V extends Serializable> extends IEnum<V> {
public interface IBaseEnum<V extends Serializable> extends IEnum<V> {
/**
* 枚举描述

View File

@ -26,7 +26,7 @@ import com.alibaba.excel.metadata.property.ExcelContentProperty;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ClassUtil;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
import top.charles7c.cnadmin.common.constant.StringConsts;
/**
@ -35,11 +35,11 @@ import top.charles7c.cnadmin.common.constant.StringConsts;
* @author Charles7c
* @since 2023/2/5 19:29
*/
public class ExcelBaseEnumConverter implements Converter<BaseEnum<Integer>> {
public class ExcelBaseEnumConverter implements Converter<IBaseEnum<Integer>> {
@Override
public Class<BaseEnum> supportJavaTypeKey() {
return BaseEnum.class;
public Class<IBaseEnum> supportJavaTypeKey() {
return IBaseEnum.class;
}
@Override
@ -51,16 +51,16 @@ public class ExcelBaseEnumConverter implements Converter<BaseEnum<Integer>> {
* 转换为 Java 数据读取 Excel
*/
@Override
public BaseEnum convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty,
public IBaseEnum convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) {
return this.getEnum(BaseEnum.class, Convert.toStr(cellData.getData()));
return this.getEnum(IBaseEnum.class, Convert.toStr(cellData.getData()));
}
/**
* 转换为 Excel 数据写入 Excel
*/
@Override
public WriteCellData<String> convertToExcelData(BaseEnum<Integer> value, ExcelContentProperty contentProperty,
public WriteCellData<String> convertToExcelData(IBaseEnum<Integer> value, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) {
if (null == value) {
return new WriteCellData<>(StringConsts.EMPTY);
@ -77,11 +77,11 @@ public class ExcelBaseEnumConverter implements Converter<BaseEnum<Integer>> {
* 描述
* @return 对应枚举 获取不到时为 {@code null}
*/
private BaseEnum<Integer> getEnum(Class<?> enumType, String description) {
private IBaseEnum<Integer> getEnum(Class<?> enumType, String description) {
Object[] enumConstants = enumType.getEnumConstants();
for (Object enumConstant : enumConstants) {
if (ClassUtil.isAssignable(BaseEnum.class, enumType)) {
BaseEnum<Integer> baseEnum = (BaseEnum<Integer>)enumConstant;
if (ClassUtil.isAssignable(IBaseEnum.class, enumType)) {
IBaseEnum<Integer> baseEnum = (IBaseEnum<Integer>)enumConstant;
if (baseEnum.getDescription().equals(description)) {
return baseEnum;
}

View File

@ -27,7 +27,7 @@ import com.fasterxml.jackson.databind.annotation.JacksonStdImpl;
import cn.hutool.core.util.ClassUtil;
import cn.hutool.core.util.ReflectUtil;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
/**
* 通用枚举基类 BaseEnum 反序列化器
@ -36,13 +36,13 @@ import top.charles7c.cnadmin.common.base.BaseEnum;
* @since 2023/1/8 13:56
*/
@JacksonStdImpl
public class BaseEnumDeserializer extends JsonDeserializer<BaseEnum> {
public class BaseEnumDeserializer extends JsonDeserializer<IBaseEnum> {
/** 静态实例 */
public static final BaseEnumDeserializer SERIALIZER_INSTANCE = new BaseEnumDeserializer();
@Override
public BaseEnum deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
public IBaseEnum deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
throws IOException {
Class<?> targetClass = jsonParser.getCurrentValue().getClass();
String fieldName = jsonParser.getCurrentName();
@ -61,13 +61,13 @@ public class BaseEnumDeserializer extends JsonDeserializer<BaseEnum> {
* 字段名
* @return 对应枚举实例 获取不到时为 {@code null}
*/
private BaseEnum getEnum(Class<?> targetClass, String value, String fieldName) {
private IBaseEnum getEnum(Class<?> targetClass, String value, String fieldName) {
Field field = ReflectUtil.getField(targetClass, fieldName);
Class<?> fieldTypeClass = field.getType();
Object[] enumConstants = fieldTypeClass.getEnumConstants();
for (Object enumConstant : enumConstants) {
if (ClassUtil.isAssignable(BaseEnum.class, fieldTypeClass)) {
BaseEnum baseEnum = (BaseEnum)enumConstant;
if (ClassUtil.isAssignable(IBaseEnum.class, fieldTypeClass)) {
IBaseEnum baseEnum = (IBaseEnum)enumConstant;
if (baseEnum.getValue().equals(Integer.valueOf(value))) {
return baseEnum;
}

View File

@ -23,7 +23,7 @@ import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.annotation.JacksonStdImpl;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
/**
* 通用枚举接口 BaseEnum 序列化器
@ -32,13 +32,13 @@ import top.charles7c.cnadmin.common.base.BaseEnum;
* @since 2023/1/8 13:56
*/
@JacksonStdImpl
public class BaseEnumSerializer extends JsonSerializer<BaseEnum> {
public class BaseEnumSerializer extends JsonSerializer<IBaseEnum> {
/** 静态实例 */
public static final BaseEnumSerializer SERIALIZER_INSTANCE = new BaseEnumSerializer();
@Override
public void serialize(BaseEnum value, JsonGenerator generator, SerializerProvider serializers) throws IOException {
public void serialize(IBaseEnum value, JsonGenerator generator, SerializerProvider serializers) throws IOException {
generator.writeObject(value.getValue());
}
}

View File

@ -41,7 +41,7 @@ import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
import cn.hutool.core.date.DatePattern;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
/**
* Jackson 配置
@ -83,10 +83,10 @@ public class JacksonConfiguration {
@Bean
public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) {
SimpleModule simpleModule = new SimpleModule();
simpleModule.addSerializer(BaseEnum.class, BaseEnumSerializer.SERIALIZER_INSTANCE);
simpleModule.addSerializer(IBaseEnum.class, BaseEnumSerializer.SERIALIZER_INSTANCE);
SimpleDeserializersWrapper deserializers = new SimpleDeserializersWrapper();
deserializers.addDeserializer(BaseEnum.class, BaseEnumDeserializer.SERIALIZER_INSTANCE);
deserializers.addDeserializer(IBaseEnum.class, BaseEnumDeserializer.SERIALIZER_INSTANCE);
simpleModule.setDeserializers(deserializers);
ObjectMapper objectMapper = builder.createXmlMapper(false).build();

View File

@ -19,7 +19,7 @@ package top.charles7c.cnadmin.common.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
/**
* 数据权限枚举
@ -29,7 +29,7 @@ import top.charles7c.cnadmin.common.base.BaseEnum;
*/
@Getter
@RequiredArgsConstructor
public enum DataScopeEnum implements BaseEnum<Integer> {
public enum DataScopeEnum implements IBaseEnum<Integer> {
/** 全部数据权限 */
ALL(1, "全部数据权限"),

View File

@ -19,7 +19,7 @@ package top.charles7c.cnadmin.common.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
import top.charles7c.cnadmin.common.constant.UIConsts;
/**
@ -30,7 +30,7 @@ import top.charles7c.cnadmin.common.constant.UIConsts;
*/
@Getter
@RequiredArgsConstructor
public enum DisEnableStatusEnum implements BaseEnum<Integer> {
public enum DisEnableStatusEnum implements IBaseEnum<Integer> {
/** 启用 */
ENABLE(1, "启用", UIConsts.COLOR_SUCCESS),

View File

@ -19,7 +19,7 @@ package top.charles7c.cnadmin.common.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
/**
* 性别枚举
@ -29,7 +29,7 @@ import top.charles7c.cnadmin.common.base.BaseEnum;
*/
@Getter
@RequiredArgsConstructor
public enum GenderEnum implements BaseEnum<Integer> {
public enum GenderEnum implements IBaseEnum<Integer> {
/** 未知 */
UNKNOWN(0, "未知"),

View File

@ -19,7 +19,7 @@ package top.charles7c.cnadmin.common.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
/**
* 菜单类型枚举
@ -29,7 +29,7 @@ import top.charles7c.cnadmin.common.base.BaseEnum;
*/
@Getter
@RequiredArgsConstructor
public enum MenuTypeEnum implements BaseEnum<Integer> {
public enum MenuTypeEnum implements IBaseEnum<Integer> {
/** 目录 */
DIR(1, "目录"),

View File

@ -19,7 +19,7 @@ package top.charles7c.cnadmin.common.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
/**
* 查询类型枚举
@ -29,7 +29,7 @@ import top.charles7c.cnadmin.common.base.BaseEnum;
*/
@Getter
@RequiredArgsConstructor
public enum QueryTypeEnum implements BaseEnum<Integer> {
public enum QueryTypeEnum implements IBaseEnum<Integer> {
/**
* 等值查询例如WHERE `age` = 18

View File

@ -19,7 +19,7 @@ package top.charles7c.cnadmin.common.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
import top.charles7c.cnadmin.common.constant.UIConsts;
/**
@ -30,7 +30,7 @@ import top.charles7c.cnadmin.common.constant.UIConsts;
*/
@Getter
@RequiredArgsConstructor
public enum SuccessFailureStatusEnum implements BaseEnum<Integer> {
public enum SuccessFailureStatusEnum implements IBaseEnum<Integer> {
/** 成功 */
SUCCESS(1, "成功", UIConsts.COLOR_SUCCESS),

View File

@ -43,8 +43,8 @@ import top.charles7c.cnadmin.common.model.vo.R;
@RestControllerAdvice
@RequiredArgsConstructor
public class GlobalResponseBodyAdviceHandler implements ResponseBodyAdvice<Object> {
private static final String[] EXCLUDE = {"MultipleOpenApiWebMvcResource", "SwaggerConfigResource",};
private static final String[] EXCLUDE = {"MultipleOpenApiWebMvcResource", "SwaggerConfigResource",};
private final ObjectMapper objectMapper;
@Override

View File

@ -19,7 +19,7 @@ package top.charles7c.cnadmin.monitor.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
/**
* 操作状态枚举
@ -29,7 +29,7 @@ import top.charles7c.cnadmin.common.base.BaseEnum;
*/
@Getter
@RequiredArgsConstructor
public enum LogStatusEnum implements BaseEnum<Integer> {
public enum LogStatusEnum implements IBaseEnum<Integer> {
/** 成功 */
SUCCESS(1, "成功"),

View File

@ -19,7 +19,7 @@ package top.charles7c.cnadmin.system.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
import top.charles7c.cnadmin.common.constant.UIConsts;
/**
@ -30,7 +30,7 @@ import top.charles7c.cnadmin.common.constant.UIConsts;
*/
@Getter
@RequiredArgsConstructor
public enum AnnouncementStatusEnum implements BaseEnum<Integer> {
public enum AnnouncementStatusEnum implements IBaseEnum<Integer> {
/** 待发布 */
PENDING_RELEASE(1, "待发布", UIConsts.COLOR_PRIMARY),

View File

@ -19,7 +19,7 @@ package top.charles7c.cnadmin.tool.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
/**
* 表单类型枚举
@ -29,7 +29,7 @@ import top.charles7c.cnadmin.common.base.BaseEnum;
*/
@Getter
@RequiredArgsConstructor
public enum FormTypeEnum implements BaseEnum<Integer> {
public enum FormTypeEnum implements IBaseEnum<Integer> {
/**
* 文本框

View File

@ -42,7 +42,7 @@ import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.util.ClassUtil;
import cn.hutool.core.util.StrUtil;
import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;
import top.charles7c.cnadmin.common.config.properties.LocalStorageProperties;
import top.charles7c.cnadmin.common.config.properties.ProjectProperties;
import top.charles7c.cnadmin.common.constant.CacheConsts;
@ -140,7 +140,7 @@ public class CommonController {
* @return 枚举类型
*/
private Optional<Class<?>> getEnumClassByName(String enumClassName) {
Set<Class<?>> classSet = ClassUtil.scanPackageBySuper(projectProperties.getBasePackage(), BaseEnum.class);
Set<Class<?>> classSet = ClassUtil.scanPackageBySuper(projectProperties.getBasePackage(), IBaseEnum.class);
return classSet.stream()
.filter(
c -> StrUtil.equalsAnyIgnoreCase(c.getSimpleName(), enumClassName, StrUtil.toCamelCase(enumClassName)))
@ -157,7 +157,7 @@ public class CommonController {
private List<LabelValueVO> listEnumDict(Class<?> enumClass) {
Object[] enumConstants = enumClass.getEnumConstants();
return Arrays.stream(enumConstants).map(e -> {
BaseEnum<Integer> baseEnum = (BaseEnum<Integer>)e;
IBaseEnum<Integer> baseEnum = (IBaseEnum<Integer>)e;
return new LabelValueVO<>(baseEnum.getDescription(), baseEnum.getValue(), baseEnum.getColor());
}).collect(Collectors.toList());
}