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
93
94
95
96
97
98
99
100
101
102
package cc.mrbird.febs.common.enumerates;
 
import lombok.Getter;
 
@Getter
public enum MemberAgentLevelEnum {
    AGENT_FIVE("总代","AGENT_FIVE",5),//总代
    AGENT_FOUR("省代","AGENT_FOUR",4),//省代
    AGENT_THREE("市代","AGENT_THREE",3),//市代
    AGENT_TWO("县代","AGENT_TWO",2),//县代
    AGENT_ONE("区代","AGENT_ONE",1),//区代
    AGENT("会员","AGENT",0);//会员
 
    private String name;
    private String code;
    private Integer value;
 
    MemberAgentLevelEnum(String name,String code,Integer value) {
        this.name = name;
        this.code = code;
        this.value = value;
    }
 
    /**
     *
     根据传入的name,比较两个级别的大小
        levelOne等于levelTwo返回2,levelOne大于levelTwo返回1,否则返回0
     */
    public int compareLevel(String levelOne ,String levelTwo) {
        int codeOne = 0;
        int codeTwo = 0;
        for (MemberAgentLevelEnum memberAgentLevelEnum : MemberAgentLevelEnum.values()) {
            if(memberAgentLevelEnum.name.equals(levelOne)){
                codeOne = memberAgentLevelEnum.value;
            }
            if(memberAgentLevelEnum.name.equals(levelTwo)){
                codeTwo = memberAgentLevelEnum.value;
            }
        }
        if(codeOne > codeTwo){
            return 1;
        }
        if(codeOne == codeTwo){
            return 2;
        }
        return 0;
    }
 
    /**
     * 根据传入的等级code,输出上一等级name
     * @param code
     * @return
     */
    public String minLevel(String code) {
        String minLevel = null;
        for (MemberAgentLevelEnum memberAgentLevelEnum : MemberAgentLevelEnum.values()) {
            if(memberAgentLevelEnum.getCode().equals(code)){
                minLevel = getNameByValue(memberAgentLevelEnum.getValue() - 1);
            }
        }
        return minLevel;
    }
    private String getNameByValue(Integer value){
        String name = null;
        for (MemberAgentLevelEnum memberAgentLevelEnum : MemberAgentLevelEnum.values()) {
            if(memberAgentLevelEnum.getValue() == value){
                name = memberAgentLevelEnum.getName();
            }
        }
        return name;
    }
 
    /**
     * 根据传入的等级code,输出等级name
     * @param code
     * @return
     */
    public String getNameByCode(String code){
        String name = null;
        for (MemberAgentLevelEnum memberAgentLevelEnum : MemberAgentLevelEnum.values()) {
            if(memberAgentLevelEnum.getCode() == code){
                name = memberAgentLevelEnum.getName();
            }
        }
        return name;
    }
 
    /**
     * 根据传入的等级name,输出等级code
     * @param name
     * @return
     */
    public String getCodeByName(String name){
        String code = null;
        for (MemberAgentLevelEnum memberAgentLevelEnum : MemberAgentLevelEnum.values()) {
            if(memberAgentLevelEnum.getName() == name){
                code = memberAgentLevelEnum.getCode();
            }
        }
        return code;
    }
}