package com.hzs.common.core.enums;

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

/**
 * 提货商品类型
 */
@AllArgsConstructor
@Getter
public enum EPickType {

    /**
     * 关联 BS_PRODUCT 表
     */
    PICK_PRODUCT(0, "提货产品", EnumsPrefixConstants.ACT_TYPE + "0"),

    /**
     * 关联 BS_PRODUCT 表（一次全部提走）
     */
    PRIZE(1, "抽奖", EnumsPrefixConstants.ACT_TYPE + "1"),

    /**
     * 关联 AC_GIFT_CONFIG 表
     */
    CONSUMPTION_GIFT(12, "消费赠送", EnumsPrefixConstants.ACT_TYPE + "12"),

    /**
     * 关联 AC_GIFT_CONFIG 表
     */
    DIRECT_PUSH_GIFT(13, "直推赠送", EnumsPrefixConstants.ACT_TYPE + "13"),

    /**
     * 关联 AC_GIFT_CONFIG 表
     */
    SUPER_STUDIO_GIFT(14, "超级工作室赠送", EnumsPrefixConstants.ACT_TYPE + "14"),

    /**
     * 关联 AC_GIFT_CONFIG 表
     */
    HOLIDAY_GIFT(15, "节日赠送", EnumsPrefixConstants.ACT_TYPE + "15"),

    /**
     * 关联 AC_GIFT_CONFIG 表
     */
    LOTTERY_DRAW(17, "抽奖", EnumsPrefixConstants.ACT_TYPE + "17"),

    /**
     * 赠送政策币配置
     */
    POLICY(20, "赠送政策币", EnumsPrefixConstants.ACT_TYPE + "20"),

    ;

    /**
     * 实际值
     */
    private final int value;
    /**
     * 显示标签
     */
    private final String label;
    /**
     * 国际化翻译key值
     */
    private final String key;

    /**
     * 根据枚举值查询枚举
     *
     * @param val 枚举值
     * @return
     */
    public static EPickType getEnumByValue(int val) {
        for (EPickType enums : EPickType.values()) {
            if (enums.getValue() == val) {
                return enums;
            }
        }
        return PICK_PRODUCT;
    }

}
