package com.yonge.cooleshow.common.enums.payment;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.google.common.collect.Lists;
import com.yonge.toolset.base.enums.BaseEnum;
import lombok.Getter;

import java.util.List;

/**
 * 商品类型类型
 */
@Getter
public enum EGoodsType implements BaseEnum<String, EGoodsType> {

    VIP("数字化器乐学练工具", "VIP"),
    INSTRUMENTS("乐器购买", "MALL"),
    TEXTBOOK("教材", "MALL"),
    ;

    private final String msg;
    private final String source;

    @EnumValue
    private final String code;

    EGoodsType(String msg, String source) {
        this.msg = msg;
        this.source = source;

        this.code = this.name();
    }

    /**
     * 商城商品类型
     * @return List<EGoodsType>
     */
    public static List<EGoodsType> mallGoodsTypes() {

        return Lists.newArrayList(INSTRUMENTS);
    }

    /**
     * 商品类型匹配
     * @param code 商品编码
     * @return boolean
     */
    public static boolean match(String code) {
        for (EGoodsType eGoodsType : EGoodsType.values()) {
            if (eGoodsType.getCode().equals(code)) {
                return true;
            }
        }
        return false;
    }
}
