ConfigEnum.java 1.67 KB
package cn.fw.dalaran.domain.enums;

import com.baomidou.mybatisplus.core.enums.IEnum;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;

/**
 * @author wmy3969
 * @version 1.0
 * @date 2022/5/7 11:42
 * @Description 配置
 */
public enum ConfigEnum implements IEnum<Integer> {
    /**
     * 封面相似度
     */
    COVER_SIMILARITY(1, "封面相似度"),
    /**
     * 话题相似度
     */
    TOPIC_SIMILARITY(2, "话题相似度"),
    /**
     * 综合得分集团标准分
     */
    STANDARD_SCORE(3,"综合得分集团标准分")
    ;

    /**
     * 值
     */
    private final Integer value;
    /**
     * 名称
     */
    @Getter
    private final String name;

    ConfigEnum(final Integer value, final String name) {
        this.value = value;
        this.name = name;
    }

    /**
     * 根据枚举值获取枚举对象
     */
    @JsonCreator
    public static ConfigEnum ofValue(final Integer value) {
        for (final ConfigEnum typeEnum : ConfigEnum.values()) {
            if (typeEnum.value.equals(value)) {
                return typeEnum;
            }
        }
        return null;
    }

    /**
     * 获取值
     *
     * @return 值
     */
    @JsonValue
    @Override
    public Integer getValue() {
        return value;
    }

    /**
     * 获取描述
     *
     * @return 值
     */
    @JsonCreator
    public static String getNameByVale(final Integer value) {
        for (final ConfigEnum typeEnum : ConfigEnum.values()) {
            if (typeEnum.value.equals(value)) {
                return typeEnum.getName();
            }
        }
        return "";
    }
}