通用枚举的创建,可以用于策略模式:
public enum RefundEnums {
REFUND_UNAPPLY(0,"未退款"),
REFUND_APPLY(10,"申请"),
REFUND_CHECK(20,"审核中"),
REFUND_COMPLETE(30,"已退款"),
REFUND_FAILE(40,"已拒绝");
private int code;
private String name;
RefundEnums(int code, String name){
this.code = code;
this.name = name;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static final String CODE = "code";
public static final String NAME = "name";
/**通用枚举列表*/
public static List<Map> normalList(){
return Stream.of(values())
.map(ds -> {
Map<String, Object> map = Maps.newHashMap();
map.put(RefundEnums.CODE, ds.getCode());
map.put(RefundEnums.NAME, ds.getName());
return map;
}).collect(Collectors.toList());
}
/**通用map*/
public static Map<Integer, RefundEnums> customBizMap() {
return Stream.of(values()).collect(Collectors.toMap(RefundEnums::getCode, customBizTypeEnum -> customBizTypeEnum));
}
/**通用map*/
public static Map<String, RefundEnums> customBizMapFromName() {
return Stream.of(values()).collect(Collectors.toMap(RefundEnums::getName, customBizTypeEnum -> customBizTypeEnum));
}
/**获取name*/
public static String get(Integer code) {
RefundEnums e = customBizMap().get(code);
if (null != e) {
return e.getName();
}
return "";
}
}