package com.hzs.common.core.enums;

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

/**
 * 所属专区枚举类
 */
@AllArgsConstructor
@Getter
public enum ESpecialArea {

    /**
     * 注册专区
     */
    REGISTER_AREA(1, "注册专区", 0, EnumsPrefixConstants.SPECIAL_AREA + "1", 3, EMenuDetail.REGISTER.getValue()),

    /**
     * 升级专区
     */
    UPGRADE_AREA(2, "升级专区", 0, EnumsPrefixConstants.SPECIAL_AREA + "2", 4, EMenuDetail.UPGRADE.getValue()),

    /**
     * 复购专区
     */
    REPURCHASE_AREA(3, "复购专区", 0, EnumsPrefixConstants.SPECIAL_AREA + "3", 5, EMenuDetail.REPURCHASE.getValue()),

    /**
     * 提货专区
     */
    CARRY_GOODS_AREA(8, "提货专区", 1, EnumsPrefixConstants.SPECIAL_AREA + 8, 11, EMenuDetail.PICK.getValue()),

    /**
     * 重消专区
     */
    RESCISSION_AREA(10, "重消专区", 0, EnumsPrefixConstants.SPECIAL_AREA + "10", 8, EMenuDetail.REPEATED_CONSUMPTION.getValue()),

    /**
     * 福利专区
     */
    WELFARE_AREA(13, "福利专区", 0, EnumsPrefixConstants.SPECIAL_AREA + 13, 9, EMenuDetail.WELFARE_AREA.getValue()),

    /**
     * 注册专区
     */
    SPECIAL_REGISTER_AREA(24, "乐学注册专区", 1, EnumsPrefixConstants.SPECIAL_AREA + 24, 1, EMenuDetail.REGISTER_LXYK.getValue()),

    /**
     * 升级专区
     */
    SPECIAL_UPGRADE_AREA(25, "乐学升级专区", 1, EnumsPrefixConstants.SPECIAL_AREA + 25, 2, EMenuDetail.UPGRADE_LXYK.getValue()),

    /**
     * 乐学甄选
     */
    SPECIAL_REPURCHASE_AREA(26, "乐学甄选", 1, EnumsPrefixConstants.SPECIAL_AREA + 26, 6, EMenuDetail.REPURCHASE_LXYK.getValue()),

    /**
     * 续约专区
     */
    RENEWAL_AREA(30, "续约专区", 0, EnumsPrefixConstants.SPECIAL_AREA + 30, 30, EMenuDetail.RENEWAL_AREA.getValue()),

    /**
     * 自助购票
     */
    RETAIL_TICKET(45, "自助购票", 0, EnumsPrefixConstants.SPECIAL_AREA + 45, 45, -1),

    ;

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

    /**
     * 排序
     */
    private final int sort;

    /**
     * menuDetailValue 明细值
     */
    private final int menuDetailValue;

    public static String getESpecialArea(int value) {
        for (ESpecialArea eSpecialArea : ESpecialArea.values()) {
            if (eSpecialArea.getValue() == value) {
                return eSpecialArea.getLabel();
            }
        }
        return null;
    }

    public static ESpecialArea getESpecialAreaEnum(int value) {
        for (ESpecialArea eSpecialArea : ESpecialArea.values()) {
            if (eSpecialArea.getValue() == value) {
                return eSpecialArea;
            }
        }
        return null;
    }
}
