package com.nova.sankuai.domain.enums.alipayrefund; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.Arrays; public enum RefundStatus { CREATED(0, "已创建请求"), REFUNDED(1, "已退款"), CANCELED(2, "已取消"); private final int code; private final String desc; RefundStatus(int code, String desc) { this.code = code; this.desc = desc; } @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static RefundStatus fromCode(Integer code) { return Arrays.stream(values()) .filter(it -> code != null && it.code == code) .findAny() .orElse(null); } public int getCode() { return code; } @JsonValue public String getDesc() { return desc; } }