package com.tmerclub.cloud.common.product.dto;

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

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

/**
 * @author gaozijie
 * @since 2023-12-05
 */
public class SkuStockPointSearchDTO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "库存点id")
    private Long stockPointId;

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

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

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

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

    @Hidden
    @Schema(description = "系统类型")
    private Integer sysType;

    @Hidden
    @Schema(description = "库存点id集合")
    private List<StockPointSkuDTO> stockPointSkuDTOList;

    @Hidden
    @Schema(description = "不包含的skuId集合")
    private List<Long> notInSkuIds;

    @Hidden
    @Schema(description = "分类id集合")
    private List<Long> categoryIds;

    public SkuStockPointSearchDTO() {
    }

    public Long getStockPointId() {
        return stockPointId;
    }

    public void setStockPointId(Long stockPointId) {
        this.stockPointId = stockPointId;
    }

    public String getSpuName() {
        return spuName;
    }

    public void setSpuName(String spuName) {
        this.spuName = spuName;
    }

    public String getPartyCode() {
        return partyCode;
    }

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

    public Long getSupplierId() {
        return supplierId;
    }

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

    public Long getShopId() {
        return shopId;
    }

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

    public Integer getSysType() {
        return sysType;
    }

    public void setSysType(Integer sysType) {
        this.sysType = sysType;
    }

    public List<StockPointSkuDTO> getStockPointSkuDTOList() {
        return stockPointSkuDTOList;
    }

    public void setStockPointSkuDTOList(List<StockPointSkuDTO> stockPointSkuDTOList) {
        this.stockPointSkuDTOList = stockPointSkuDTOList;
    }

    public List<Long> getNotInSkuIds() {
        return notInSkuIds;
    }

    public void setNotInSkuIds(List<Long> notInSkuIds) {
        this.notInSkuIds = notInSkuIds;
    }

    public List<Long> getCategoryIds() {
        return categoryIds;
    }

    public void setCategoryIds(List<Long> categoryIds) {
        this.categoryIds = categoryIds;
    }

    @Override
    public String toString() {
        return "SkuStockPointSearchDTO{" +
                "stockPointId=" + stockPointId +
                ", spuName='" + spuName + '\'' +
                ", partyCode='" + partyCode + '\'' +
                ", supplierId=" + supplierId +
                ", shopId=" + shopId +
                ", sysType=" + sysType +
                ", stockPointSkuDTOList=" + stockPointSkuDTOList +
                ", notInSkuIds=" + notInSkuIds +
                ", categoryIds=" + categoryIds +
                '}';
    }
}
