package com.hzs.common.core.enums;

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

/**
 * 交款方式
 */
@AllArgsConstructor
@Getter
public enum EPaymentType {

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

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

    /**
     * 银行卡
     */
    BANK_CARD(3, "转账", 0, EnumsPrefixConstants.PAYMENT_TYPE + "3"),

    /**
     * 现金
     */
    CASH(4, "现金", 0, EnumsPrefixConstants.PAYMENT_TYPE + "4"),

    /**
     * 特批
     */
    SPECIALLY_APPROVED(5, "特批", 0, EnumsPrefixConstants.PAYMENT_TYPE + "5"),

    /**
     * 活动
     */
    ACTIVITY(6, "活动", 0, EnumsPrefixConstants.PAYMENT_TYPE + "6"),


    /**
     * 退款
     */
    REFUND(7, "退款", 0, EnumsPrefixConstants.PAYMENT_TYPE + "7"),

    /**
     * 调换货
     */
    EXCHANGE_GOODS(8, "调换货", 0, EnumsPrefixConstants.PAYMENT_TYPE + "8"),

    /**
     * 调拨
     */
    ALLOT(9, "调拨", 0, EnumsPrefixConstants.PAYMENT_TYPE + "9"),

    ;

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

    /**
     * 根据label获取枚举
     *
     * @param label
     * @return
     */
    public static EPaymentType getEnumByLabel(String label) {
        for (EPaymentType value : EPaymentType.values()) {
            if (value.getLabel().equals(label)) {
                return value;
            }
        }
        return null;
    }

    public static String getEnumLabel(Integer value) {
        if (null == value) {
            return "";
        }
        for (EPaymentType enums : EPaymentType.values()) {
            if (enums.getValue() == value) {
                return enums.getLabel();
            }
        }
        return "";
    }

}
