style: 枚举接口 BaseEnum => IBaseEnum

This commit is contained in:
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