package com.lunhan.xxx.entity.enums; import java.util.Arrays; import java.util.Objects; /** * 数据处理状态 通用枚举 * @author lin.liu * @date 2019-01-08 */ public enum EHandleStatus { /** * 待处理 */ AWAITING("待处理", 100), /** *处理中 */ PROCESSING("处理中", 101), /** * 已处理 */ SUCCESS("已处理", 200), /** * 处理失败 */ FAILED("处理失败", 300); private String desc;//枚举描述 private Integer value;//枚举值 public Integer getValue() { return value; } public String getDesc() { return desc; } /** * 构造方法 * @param desc 枚举描述 * @param value 枚举值 */ EHandleStatus(String desc, Integer value) { this.desc = desc; this.value = value; } /** * 根据值获取枚举 * * @param value 枚举值 * @return */ public static EHandleStatus getByValue(Integer value) { return Arrays.stream(EHandleStatus.values()) .filter(e -> Objects.equals(e.getValue(), value)) .findAny() .orElse(null); } @Override public String toString() { return "EHandleStatus{" + "desc='" + desc + '\'' + ", value=" + value + '}'; } }