package com.fzm.mall.server.admin.goods_center.enums.status;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

/**
 * @author wangp
 * @date 2021/3/12 14:20
 * @description 商品发行状态
 * @since JDK 1.8
 */
public enum SpuStatusEnum {

    DELETE(0),//删除
    ON(1),//上架
    OFF(2),//下架
    ISSUE(3),//发行中
    FAIL(4),//失败
    WAIT_CHECK(5),//待审核
    CHECK_FAIL(6),//审核未通过
    CHECK_PASS(7),//审核通过
    CANCEL(8),//取消发布
    DRAFT(9),//草稿
    PREHEAT(10);//预热

    private Integer status;

    SpuStatusEnum(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    public static List<Integer> getValueList() {
        return Arrays.stream(SpuStatusEnum.values())
                .map(SpuStatusEnum::getStatus)
                .collect(Collectors.toList());
    }

    public static List<Integer> getCheckValueList() {
        List<Integer> checkList = new ArrayList<>();
        checkList.add(SpuStatusEnum.CHECK_FAIL.status);
        checkList.add(SpuStatusEnum.CHECK_PASS.status);
        return checkList;
    }

    public static List<Integer> getOnOffList() {
        List<Integer> onOffList = new ArrayList<>();
        onOffList.add(SpuStatusEnum.ON.status);
        onOffList.add(SpuStatusEnum.OFF.status);
        return onOffList;
    }

}
