Skip to content

Commit

Permalink
style: 枚举接口 BaseEnum => IBaseEnum
Browse files Browse the repository at this point in the history
  • Loading branch information
Charles7c committed Oct 25, 2023
1 parent 43590bf commit f5e8b09
Show file tree
Hide file tree
Showing 16 changed files with 46 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,14 @@
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> {

/**
* 枚举描述
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
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;

/**
Expand All @@ -35,11 +35,11 @@
* @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
Expand All @@ -51,16 +51,16 @@ public CellDataTypeEnum supportExcelTypeKey() {
* 转换为 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);
Expand All @@ -77,11 +77,11 @@ public WriteCellData<String> convertToExcelData(BaseEnum<Integer> value, ExcelCo
* 描述
* @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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
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 反序列化器
Expand All @@ -36,13 +36,13 @@
* @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();
Expand All @@ -61,13 +61,13 @@ public BaseEnum deserialize(JsonParser jsonParser, DeserializationContext deseri
* 字段名
* @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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
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 序列化器
Expand All @@ -32,13 +32,13 @@
* @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());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@

import cn.hutool.core.date.DatePattern;

import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;

/**
* Jackson 配置
Expand Down Expand Up @@ -83,10 +83,10 @@ public Jackson2ObjectMapperBuilderCustomizer customizer() {
@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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;

/**
* 数据权限枚举
Expand All @@ -29,7 +29,7 @@
*/
@Getter
@RequiredArgsConstructor
public enum DataScopeEnum implements BaseEnum<Integer> {
public enum DataScopeEnum implements IBaseEnum<Integer> {

/** 全部数据权限 */
ALL(1, "全部数据权限"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
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;

/**
Expand All @@ -30,7 +30,7 @@
*/
@Getter
@RequiredArgsConstructor
public enum DisEnableStatusEnum implements BaseEnum<Integer> {
public enum DisEnableStatusEnum implements IBaseEnum<Integer> {

/** 启用 */
ENABLE(1, "启用", UIConsts.COLOR_SUCCESS),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;

/**
* 性别枚举
Expand All @@ -29,7 +29,7 @@
*/
@Getter
@RequiredArgsConstructor
public enum GenderEnum implements BaseEnum<Integer> {
public enum GenderEnum implements IBaseEnum<Integer> {

/** 未知 */
UNKNOWN(0, "未知"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;

/**
* 菜单类型枚举
Expand All @@ -29,7 +29,7 @@
*/
@Getter
@RequiredArgsConstructor
public enum MenuTypeEnum implements BaseEnum<Integer> {
public enum MenuTypeEnum implements IBaseEnum<Integer> {

/** 目录 */
DIR(1, "目录"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;

/**
* 查询类型枚举
Expand All @@ -29,7 +29,7 @@
*/
@Getter
@RequiredArgsConstructor
public enum QueryTypeEnum implements BaseEnum<Integer> {
public enum QueryTypeEnum implements IBaseEnum<Integer> {

/**
* 等值查询,例如:WHERE `age` = 18
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
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;

/**
Expand All @@ -30,7 +30,7 @@
*/
@Getter
@RequiredArgsConstructor
public enum SuccessFailureStatusEnum implements BaseEnum<Integer> {
public enum SuccessFailureStatusEnum implements IBaseEnum<Integer> {

/** 成功 */
SUCCESS(1, "成功", UIConsts.COLOR_SUCCESS),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@
@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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;

/**
* 操作状态枚举
Expand All @@ -29,7 +29,7 @@
*/
@Getter
@RequiredArgsConstructor
public enum LogStatusEnum implements BaseEnum<Integer> {
public enum LogStatusEnum implements IBaseEnum<Integer> {

/** 成功 */
SUCCESS(1, "成功"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
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;

/**
Expand All @@ -30,7 +30,7 @@
*/
@Getter
@RequiredArgsConstructor
public enum AnnouncementStatusEnum implements BaseEnum<Integer> {
public enum AnnouncementStatusEnum implements IBaseEnum<Integer> {

/** 待发布 */
PENDING_RELEASE(1, "待发布", UIConsts.COLOR_PRIMARY),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import top.charles7c.cnadmin.common.base.BaseEnum;
import top.charles7c.cnadmin.common.base.IBaseEnum;

/**
* 表单类型枚举
Expand All @@ -29,7 +29,7 @@
*/
@Getter
@RequiredArgsConstructor
public enum FormTypeEnum implements BaseEnum<Integer> {
public enum FormTypeEnum implements IBaseEnum<Integer> {

/**
* 文本框
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
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;
Expand Down Expand Up @@ -140,7 +140,7 @@ public List<LabelValueVO> listOption(@Validated OptionQuery query) {
* @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)))
Expand All @@ -157,7 +157,7 @@ private Optional<Class<?>> getEnumClassByName(String enumClassName) {
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());
}
Expand Down

0 comments on commit f5e8b09

Please sign in to comment.