zjh
2024-05-15 cebb05f8d1ddbf5ac415c5471e17d2d94ea1a6de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package com.ltkj.tduck.utils;
 
import com.baomidou.mybatisplus.annotation.IEnum;
 
import java.io.Serializable;
 
/**
 * @author : wangqing
 * @description : 字典枚举基础接口
 * 继承该接口会在jackson默认增强显示字段
 * @create :  2021/12/21 10:19
 **/
public interface IDictEnum<T extends Serializable> extends IEnum<T> {
 
    static <T extends IDictEnum> T getInstance(Class<T> clazz, String code) {
        T[] constants = clazz.getEnumConstants();
 
        for (T t : constants) {
            if (String.valueOf(t.getValue()).equals(code)) {
                return t;
            }
        }
        return null;
    }
 
    /**
     * 数据库中存储的值
     *
     * @return 数据库中存储的值
     */
    @Override
    T getValue();
 
 
    /**
     * 获取枚举描述
     *
     * @return 描述
     */
    String getDesc();
 
 
}