首先我们创建枚举类型PayStatusEnum
@Getter
public enum PayStatusEnum implements CodeEnum{
WAIT(0,"等待支付"),
SUCCESS(1,"支付成功")
;
/** 状态 */
private Integer code;
private String message;
PayStatusEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}
实现一个CodeEnum接口:
public interface CodeEnum {
Integer getCode();
}
接着写一个工具类EnumUtil,用于获取每个状态:
public class EnumUtil {
/**
* 获取枚举类型的状态值
* @param code
* @param enumClass
* @param <T>
* @return
*/
public static <T extends CodeEnum> T getByCode(Integer code, Class<T> enumClass){
for(T each: enumClass.getEnumConstants()){
if (code.equals(each.getCode())){
return each;
}
}
return null;
}
}
然后在所需获取状态值的对象中写一个方法getPayStatusEnum(名字可以自定义)用于获取状态:
@JsonIgnore
public PayStatusEnum getPayStatusEnum(){
return EnumUtil.getByCode(payStatus,PayStatusEnum.class);
}
然后我们进入list.ftl查看原本的状态:
作为对比我们采用我们获取状态的方法:
扫描二维码关注公众号,回复:
2504166 查看本文章
果然学无止境呀,哈哈,睡觉睡觉!!!