首先我们创建枚举类型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查看原本的状态:


作为对比我们采用我们获取状态的方法:


果然学无止境呀,哈哈,睡觉睡觉!!!

本文介绍了一种支付状态枚举类型的创建方法,并通过一个实用的工具类实现了从枚举值到具体状态的映射,简化了状态管理。
335

被折叠的 条评论
为什么被折叠?



