
package com.tmerclub.cloud.product.dto;

import io.swagger.v3.oas.annotations.media.Schema;

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

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

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

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    @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;

    public Integer getSpuOrigin() {
        return spuOrigin;
    }

    public void setSpuOrigin(Integer spuOrigin) {
        this.spuOrigin = spuOrigin;
    }

    public Integer getSupplierDeliveryType() {
        return supplierDeliveryType;
    }

    public void setSupplierDeliveryType(Integer supplierDeliveryType) {
        this.supplierDeliveryType = supplierDeliveryType;
    }

    public Integer getSpuMold() {
        return spuMold;
    }

    public void setSpuMold(Integer spuMold) {
        this.spuMold = spuMold;
    }

    public Integer getIsCommission() {
        return isCommission;
    }

    public void setIsCommission(Integer isCommission) {
        this.isCommission = isCommission;
    }

    public Integer getSupplierSpuType() {
        return supplierSpuType;
    }

    public void setSupplierSpuType(Integer supplierSpuType) {
        this.supplierSpuType = supplierSpuType;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public Long getBrandId() {
        return brandId;
    }

    public void setBrandId(Long brandId) {
        this.brandId = brandId;
    }

    public Long getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getSpuType() {
        return spuType;
    }

    public void setSpuType(Integer spuType) {
        this.spuType = spuType;
    }


    public List<Long> getSpuIds() {
        return spuIds;
    }

    public void setSpuIds(List<Long> spuIds) {
        this.spuIds = spuIds;
    }

    public Integer getSpuStatus() {
        return spuStatus;
    }

    public void setSpuStatus(Integer spuStatus) {
        this.spuStatus = spuStatus;
    }

    public Long getMinPrice() {
        return minPrice;
    }

    public void setMinPrice(Long minPrice) {
        this.minPrice = minPrice;
    }

    public Long getMaxPrice() {
        return maxPrice;
    }

    public void setMaxPrice(Long maxPrice) {
        this.maxPrice = maxPrice;
    }

    public Long getMinSaleNum() {
        return minSaleNum;
    }

    public void setMinSaleNum(Long minSaleNum) {
        this.minSaleNum = minSaleNum;
    }

    public Long getMaxSaleNum() {
        return maxSaleNum;
    }

    public void setMaxSaleNum(Long maxSaleNum) {
        this.maxSaleNum = maxSaleNum;
    }

    public String getPartyCode() {
        return partyCode;
    }

    public void setPartyCode(String partyCode) {
        this.partyCode = partyCode;
    }

    public Integer getPriceFeeSort() {
        return priceFeeSort;
    }

    public void setPriceFeeSort(Integer priceFeeSort) {
        this.priceFeeSort = priceFeeSort;
    }

    public Integer getMarketPriceFeeSort() {
        return marketPriceFeeSort;
    }

    public void setMarketPriceFeeSort(Integer marketPriceFeeSort) {
        this.marketPriceFeeSort = marketPriceFeeSort;
    }

    public Integer getSaleNumSort() {
        return saleNumSort;
    }

    public void setSaleNumSort(Integer saleNumSort) {
        this.saleNumSort = saleNumSort;
    }

    public Integer getStockSort() {
        return stockSort;
    }

    public void setStockSort(Integer stockSort) {
        this.stockSort = stockSort;
    }

    public Integer getSeqSort() {
        return seqSort;
    }

    public void setSeqSort(Integer seqSort) {
        this.seqSort = seqSort;
    }

    public Integer getCreateTimeSort() {
        return createTimeSort;
    }

    public void setCreateTimeSort(Integer createTimeSort) {
        this.createTimeSort = createTimeSort;
    }

    public Long getShopPrimaryCategoryId() {
        return shopPrimaryCategoryId;
    }

    public void setShopPrimaryCategoryId(Long shopPrimaryCategoryId) {
        this.shopPrimaryCategoryId = shopPrimaryCategoryId;
    }

    public Long getShopSecondaryCategoryId() {
        return shopSecondaryCategoryId;
    }

    public void setShopSecondaryCategoryId(Long shopSecondaryCategoryId) {
        this.shopSecondaryCategoryId = shopSecondaryCategoryId;
    }

    public Long getPrimaryCategoryId() {
        return primaryCategoryId;
    }

    public void setPrimaryCategoryId(Long primaryCategoryId) {
        this.primaryCategoryId = primaryCategoryId;
    }

    public Long getSecondaryCategoryId() {
        return secondaryCategoryId;
    }

    public void setSecondaryCategoryId(Long secondaryCategoryId) {
        this.secondaryCategoryId = secondaryCategoryId;
    }

    public Integer getDataType() {
        return dataType;
    }

    public void setDataType(Integer dataType) {
        this.dataType = dataType;
    }

    @Override
    public String toString() {
        return "SpuPageSearchDTO{" +
                "spuId=" + spuId +
                ", shopId=" + shopId +
                ", supplierId=" + supplierId +
                ", brandId=" + brandId +
                ", shopPrimaryCategoryId=" + shopPrimaryCategoryId +
                ", shopSecondaryCategoryId=" + shopSecondaryCategoryId +
                ", primaryCategoryId=" + primaryCategoryId +
                ", secondaryCategoryId=" + secondaryCategoryId +
                ", categoryId=" + categoryId +
                ", name='" + name + '\'' +
                ", status=" + status +
                ", spuType=" + spuType +
                ", spuIds=" + spuIds +
                ", spuStatus=" + spuStatus +
                ", spuMold=" + spuMold +
                ", minPrice=" + minPrice +
                ", maxPrice=" + maxPrice +
                ", minSaleNum=" + minSaleNum +
                ", maxSaleNum=" + maxSaleNum +
                ", partyCode='" + partyCode + '\'' +
                ", priceFeeSort=" + priceFeeSort +
                ", marketPriceFeeSort=" + marketPriceFeeSort +
                ", saleNumSort=" + saleNumSort +
                ", stockSort=" + stockSort +
                ", seqSort=" + seqSort +
                ", createTimeSort=" + createTimeSort +
                ", dataType=" + dataType +
                ", supplierSpuType=" + supplierSpuType +
                ", isCommission=" + isCommission +
                ", supplierDeliveryType=" + supplierDeliveryType +
                ", spuOrigin=" + spuOrigin +
                '}';
    }
}
