package com.jeesharp.business.modules.mall.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 订单状态枚举（建议统一语义）
 */
@Getter
@AllArgsConstructor
public enum MallOrderStatusEnum {

    /** 待支付 */
    PENDING_PAY(0, "待支付"),
    /** 已支付 */
    PAID(1, "已支付"),
    /** 待履约 */
    TO_FULFILL(2, "待履约"),
    /** 履约中 */
    FULFILLING(3, "履约中"),
    /** 已完成 */
    FULFILLED(4, "已完成"),
    /** 已关闭 */
    CLOSED(5, "已关闭"),
    /** 退款中 */
    REFUNDING(6, "退款中"),
    /** 已退款 */
    REFUNDED(7, "已退款"),
    /** 退款拒绝 */
    REFUND_REJECTED(8, "退款拒绝"),
    /** 已取消 */
    CANCELED(9, "已取消");

    private final Integer code;
    private final String desc;

    public static MallOrderStatusEnum of(Integer code) {
        if (code == null) {
            return null;
        }
        for (MallOrderStatusEnum item : values()) {
            if (item.code.equals(code)) {
                return item;
            }
        }
        return null;
    }
}
