package com.hzs.common.core.enums;

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

/**
 * 升级类型
 */
@AllArgsConstructor
@Getter
public enum EUpgradeType {

    /**
     * 1=自动升级 -- 目前只高级店主升级为自动升级
     */
    AUTO_UPGRADE(1, "自动升级", 0, EnumsPrefixConstants.UPGRADE_TYPE + 1),

    /**
     * 手动升级
     */
    MANUAL_UPGRADE(2, "手动升级", 0, EnumsPrefixConstants.UPGRADE_TYPE + 2),

    /**
     * 购买赠予
     */
    PURCHASE_GIFT(3, "购买赠予", 0, EnumsPrefixConstants.UPGRADE_TYPE + 3),

    /**
     * 购买升级
     */
    BUY_UPGRADE(4, "购买升级", 0, EnumsPrefixConstants.UPGRADE_TYPE + 4),

    /**
     * 活动升级
     */
    ACTIVITY_UPGRADE(5, "活动升级", 0, EnumsPrefixConstants.UPGRADE_TYPE + 5),

    ;

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

    /**
     * 根据值获取显示
     *
     * @param val
     * @return
     */
    public static String getLabelByValue(Integer val) {
        if (null == val) {
            return null;
        }
        for (EUpgradeType value : EUpgradeType.values()) {
            if (value.getValue() == val) {
                return value.getLabel();
            }
        }
        return null;
    }

}
