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 RefundReason { LittleMembershipInterest("1", "会员权益少"), HighMembershipFees("2", "会员费用高"), LoanFailure("3", "借不到款"), LowLimit("4", "额度低"), SlowDisbursementSpeed("5", "放款速度慢"), Other("6", "其他"); private final String code; private final String desc; RefundReason(String code, String desc) { this.code = code; this.desc = desc; } @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static RefundReason fromDesc(String desc) { return Arrays.stream(values()) .filter(it -> it.desc.equals(desc)) .findAny() .orElse(null); } public static RefundReason fromCode(String code) { return Arrays.stream(values()) .filter(it -> it.code.equals(code)) .findAny() .orElse(null); } @JsonValue public String getDesc() { return desc; } public String getCode() { return code; } }