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

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 运费模板计费类型，与 {@code mall_freight_template.charge_type} 存储值一致。
 *
 * @author jeesharp
 * @since 2026-05-16
 */
@Getter
@AllArgsConstructor
public enum MallFreightChargeTypeEnum {

    /**
     * 按重量（kg）阶梯计费
     */
    WEIGHT("WEIGHT"),

    /**
     * 按件数阶梯计费
     */
    ITEM("ITEM"),

    /**
     * 包邮模板（不计费）
     */
    FREE("FREE");

    private final String code;

    /**
     * 根据存储值解析枚举。
     */
    public static MallFreightChargeTypeEnum fromCode(String code) {
        if (code == null || code.isBlank()) {
            return null;
        }
        for (MallFreightChargeTypeEnum e : values()) {
            if (e.code.equalsIgnoreCase(code.trim())) {
                return e;
            }
        }
        return null;
    }
}
