lrj
5 天以前 4fa9591629721797386fc11836e3a9deb69cd58c
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package com.rongyichuang.common.enums;
 
/**
 * 媒体目标类型枚举
 * 定义t_media表中target_type字段的所有可能值
 */
public enum MediaTargetType {
    
    /**
     * 评委头像
     */
    JUDGE_AVATAR(1, "评委头像"),
    
    /**
     * 活动媒体
     */
    ACTIVITY(2, "活动"),
    
    /**
     * 轮播图媒体
     */
    CAROUSEL(4, "轮播图"),
    
    /**
     * 参赛报名资料
     * 对应t_activity_player的记录
     */
    ACTIVITY_PLAYER_SUBMISSION(5, "参赛报名资料"),
    
    /**
     * 学员头像
     */
    STUDENT_AVATAR(6, "学员头像"),
    
    /**
     * 用户头像
     */
    USER_AVATAR(7, "用户头像");
    
    private final int value;
    private final String description;
    
    MediaTargetType(int value, String description) {
        this.value = value;
        this.description = description;
    }
    
    /**
     * 获取枚举值
     * @return 数值
     */
    public int getValue() {
        return value;
    }
    
    /**
     * 获取描述
     * @return 描述
     */
    public String getDescription() {
        return description;
    }
    
    /**
     * 根据数值获取枚举
     * @param value 数值
     * @return 对应的枚举,如果没有找到则返回null
     */
    public static MediaTargetType fromValue(int value) {
        for (MediaTargetType type : MediaTargetType.values()) {
            if (type.value == value) {
                return type;
            }
        }
        return null;
    }
    
    /**
     * 根据数值获取描述
     * @param value 数值
     * @return 描述,如果没有找到则返回"未知类型"
     */
    public static String getDescriptionByValue(int value) {
        MediaTargetType type = fromValue(value);
        return type != null ? type.getDescription() : "未知类型(" + value + ")";
    }
    
    @Override
    public String toString() {
        return String.format("%s(%d)", description, value);
    }
}