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, "旧注册专区", 1, EnumsPrefixConstants.SPECIAL_AREA + "1", 3, EMenuDetail.REGISTER.getValue()),

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

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

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

    /**
     * 直播专区
     */
    LIVE_BROADCAST(14, "直播专区", 1, EnumsPrefixConstants.SPECIAL_AREA + 14, 14, EMenuDetail.LIVE.getValue()),

    /**
     * 新零售会员专区（注册）
     */
    RETAIL_REGISTER(41, "新零售注册专区", 0, EnumsPrefixConstants.SPECIAL_AREA + 41, 41, -1),
    /**
     * 新零售会员专区（升级）
     */
    RETAIL_UPGRADE(42, "新零售升级专区", 0, EnumsPrefixConstants.SPECIAL_AREA + 42, 42, -1),
    /**
     * 新零售复购专区
     */
    RETAIL_REPURCHASE(43, "新零售复购专区", 0, EnumsPrefixConstants.SPECIAL_AREA + 43, 43, -1),
    /**
     * 新零售重消专区
     */
    RETAIL_RESCISSION(44, "新零售重消专区", 0, EnumsPrefixConstants.SPECIAL_AREA + 44, 44, -1),

    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;
    }

    /**
     * 新零售专区值匹配 -- 注册、升级，对应商品都是会员专区
     *
     * @param value
     * @return
     */
    public static int getRetailSpecialAreaValue(Integer value) {
        // 升级专区，恢复，此处不需要转换
//        if (RETAIL_REGISTER.getValue() == value
//                || RETAIL_UPGRADE.getValue() == value) {
//            return RETAIL_REGISTER.getValue();
//        }
        return value;
    }


}
