package com.hzs.common.core.enums;

import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 支付类型
 *
 * @author: hzs
 */
@AllArgsConstructor
@Getter
public enum EPayType {

    /**
     * 支付宝
     */
    ALIPAY(1, "支付宝", 0, EnumsPrefixConstants.PAY_TYPE + "1"),

    /**
     * 微信
     */
    WECHAT(2, "微信", 0, EnumsPrefixConstants.PAY_TYPE + "2"),

    /**
     * 银行卡
     */
    BANK_CARD(3, "银行卡", 0, EnumsPrefixConstants.PAY_TYPE + "3"),
    //    , 5=(京东)小金库, 6=(京东)白条, 7=(京东)超级白条, 8=(京东)钱包余额）, 9=(京东)云闪付
    MINI_TREASURY(5, "小金库", 0, EnumsPrefixConstants.PAY_TYPE + "5"),
    CREDIT_LINE(6, "白条", 0, EnumsPrefixConstants.PAY_TYPE + "6"),
    SUPER_CREDIT_LINE(7, "超级白条", 0, EnumsPrefixConstants.PAY_TYPE + "7"),
    WALLET_BALANCE(8, "钱包余额", 0, EnumsPrefixConstants.PAY_TYPE + "8"),
    CLOUD_PAY(9, "云闪付", 0, EnumsPrefixConstants.PAY_TYPE + "9"),

    ;

    /**
     * 实际值
     */
    private final int value;
    /**
     * 显示标签
     */
    private final String label;
    /**
     * 是否启用（0=是,1=否） -- 来源EYesNo
     */
    private final int enable;
    /**
     * 国际化翻译key值
     */
    private final String key;

    /**
     * 根据值获取枚举
     *
     * @param value
     * @return
     */
    public static EPayType getEnumByValue(int value) {
        for (EPayType enums : EPayType.values()) {
            if (enums.getValue() == value) {
                return enums;
            }
        }
        return null;
    }

}
