package com.jeesharp.business.modules.pay.paywechatconfig.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 租户级微信支付模式（L1）：决定 C 端预下单走境内直连还是收付通 partner/合单。
 *
 * @author jeesharp
 * @since 2026-06-12
 */
@Getter
@AllArgsConstructor
public enum WechatPayModeEnum {

    /**
     * 境内直连商户
     */
    DIRECT("DIRECT", "境内直连"),

    /**
     * 收付通合作伙伴（服务商 + 子商户）
     */
    PARTNER("PARTNER", "收付通合作伙伴");

    private final String value;

    private final String desc;

    public static WechatPayModeEnum fromValue(String value) {
        if (value == null || value.isBlank()) {
            return DIRECT;
        }
        for (WechatPayModeEnum item : values()) {
            if (item.getValue().equalsIgnoreCase(value.trim())) {
                return item;
            }
        }
        return DIRECT;
    }

    public static String getDescByValue(String value) {
        return fromValue(value).getDesc();
    }
}
