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, 3, EMenuDetail.REGISTER.getValue()),

    /**
     * 复购专区 名字修改为自营专区（复购自营）
     */
    REPURCHASE_AREA(3, "复购自营", 1, 5, EMenuDetail.REPURCHASE.getValue()),

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

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

    /**
     * 精品专区
     */
    RETAIL_REGISTER(41, "精品专区", 0, 41, -1),
    /**
     * 甄选专区
     */
    RETAIL_UPGRADE(42, "甄选专区", 0,  42, -1),
    /**
     * 商城专区
     */
    RETAIL_REPURCHASE(43, "商城专区", 0, 43, -1),
    /**
     * 重消专区
     */
    RETAIL_RESCISSION(44, "重消专区", 0, 44, -1),

    RETAIL_TICKET(45, "自助购票", 0, 45, -1),

    ;

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

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

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

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

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


}
