
package com.tmerclub.cloud.product.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * spu信息DTO
 *
 * @author tmerclub
 * @date 2020-10-28 15:27:24
 */
@Data
@ToString
public class SpuPageSearchDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "spuId")
    private Long spuId;

    @Schema(description = "店铺id")
    private Long shopId;

    @Schema(description = "供应商id")
    private Long supplierId;

    @Schema(description = "品牌ID")
    private Long brandId;

    @Schema(description = "商家一级分类id")
    private Long shopPrimaryCategoryId;

    @Schema(description = "商家二级分类id")
    private Long shopSecondaryCategoryId;

    @Schema(description = "平台一级分类id")
    private Long primaryCategoryId;

    @Schema(description = "平台二级分类id")
    private Long secondaryCategoryId;

    @Schema(description = "分类ID")
    private Long categoryId;

    @Schema(description = "spu名称")
    private String name;

    @Schema(description = "状态 1:enable, 0:disable, -1:deleted")
    private Integer status;

    @Schema(description = "商品类型(0普通商品 1拼团 2秒杀 3积分)")
    private Integer spuType;

    @Schema(description = "spuId列表(商品上下架：批量操作时，用此参数)(批量处理参数)")
    private List<Long> spuIds;

    @Schema(description = "商品状态： 0.全部  1.销售中  2.已售罄  3.已下架 ")
    private Integer spuStatus;
    @Schema(description = "商品类别 0.实物商品 1. 虚拟商品 2.组合商品")
    private Integer spuMold;

    @Schema(description = "最低价")
    private Long minPrice;

    @Schema(description = "最高价")
    private Long maxPrice;

    @Schema(description = "最低销量")
    private Long minSaleNum;

    @Schema(description = "最高销量")
    private Long maxSaleNum;

    @Schema(description = "商品编码")
    private String partyCode;

    @Schema(description = "当前价排序 0：倒序 1：顺序")
    private Integer priceFeeSort;

    @Schema(description = "市场价排序 0：倒序 1：顺序")
    private Integer marketPriceFeeSort;

    @Schema(description = "销量排序 0：倒序 1：顺序")
    private Integer saleNumSort;

    @Schema(description = "库存排序 0：倒序 1：顺序")
    private Integer stockSort;

    @Schema(description = "序号排序 0：倒序 1：顺序")
    private Integer seqSort;

    @Schema(description = "创建时间排序 0：倒序 1：顺序")
    private Integer createTimeSort;
    /**
     * 搜索类型-DataType枚举类
     */
    @Schema(description = "搜索类型")
    private Integer dataType;

    @Schema(description = "供应商商品类型 0.否 1.是 2.商家代销")
    private Integer supplierSpuType;

    @Schema(description = "是否已导入供应商商品 0 未导入  1 已导入")
    private Integer isCommission;

    @Schema(description = "供应商商品发货方式 1.供应商发货 2.仓库发货")
    private Integer supplierDeliveryType;

    @Schema(description = "商品来源 0商家 1供应商 为空则不筛选")
    private Integer spuOrigin;

    }
