55 lines
1.3 KiB
Markdown
55 lines
1.3 KiB
Markdown
|
```java
|
|||
|
/**
|
|||
|
* @author dss
|
|||
|
* @date 2021/10/9
|
|||
|
* @description:
|
|||
|
*/
|
|||
|
public enum AuditStatus{
|
|||
|
|
|||
|
NO_SUBJECT(0,"未提交"),
|
|||
|
NO_AUDIT(2,"未审核"),
|
|||
|
AUDIT(1,"审核通过");
|
|||
|
|
|||
|
|
|||
|
@Getter
|
|||
|
private final Integer code;
|
|||
|
|
|||
|
@Getter
|
|||
|
private final String label;
|
|||
|
|
|||
|
AuditStatus(Integer code,String label){
|
|||
|
this.code=code;
|
|||
|
this.label=label;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* 根据code获取对应的label
|
|||
|
* @param code
|
|||
|
* @return 形参code所对应的label值
|
|||
|
* @throws Exception
|
|||
|
*/
|
|||
|
public static String getValueByCode(Integer code) throws Exception {
|
|||
|
//获取Class对象
|
|||
|
Class<?> clzz = AuditStatus.class;
|
|||
|
|
|||
|
// 获取所有枚举对象
|
|||
|
Object[] objects = clzz.getEnumConstants();
|
|||
|
//获取指定方法
|
|||
|
Method coinLabel = clzz.getMethod("getLabel");
|
|||
|
Method coinCode = clzz.getMethod("getCode");
|
|||
|
|
|||
|
|
|||
|
//遍历所有枚举对象
|
|||
|
for (Object obj : objects) {
|
|||
|
//执行coinCode方法(getCode)该枚举的code值,如果和形参code 的值相同则
|
|||
|
if (coinCode.invoke(obj) == code) {
|
|||
|
//执行coinLabel方法(getLabel)获取响应的label值进行返回
|
|||
|
return coinLabel.invoke(obj).toString();
|
|||
|
}
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
```
|