package com.hzs.common.core.enums;

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

import java.util.ArrayList;
import java.util.List;

/**
 * 订单类型枚举类
 */
@AllArgsConstructor
@Getter
public enum ETop30Type {

    /**
     * 注册订单
     */
    PEOPLE(1, "直推人数", "people"),

    /**
     * 升级订单
     */
    AMOUNT(2, "直推金额", "amount")

    ;

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

    /**
     * 根据值，返回枚举
     *
     * @param value
     * @return
     */
    public static ETop30Type getEnumByValue(int value) {
        for (ETop30Type enums : ETop30Type.values()) {
            if (enums.getValue() == value) {
                return enums;
            }
        }
        return null;
    }

    /**
     * 根据值，返回名称
     *
     * @param value
     * @return
     */
    public static String getLabelByValue(Integer value) {
        if (null == value) {
            return "";
        }
        for (ETop30Type enums : ETop30Type.values()) {
            if (enums.getValue() == value) {
                return enums.getLabel();
            }
        }
        return "";
    }


    public static List<ETop30Type> getOrderTypeSpecial() {
        List<ETop30Type> resultList = new ArrayList<>();
        resultList.add(ETop30Type.PEOPLE);
        resultList.add(ETop30Type.AMOUNT);
        return resultList;
    }


}
