
package com.tmerclub.cloud.common.product.vo.app;

import com.tmerclub.cloud.common.product.vo.SkuComboVO;
import io.swagger.v3.oas.annotations.media.Schema;

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

/**
 * sku信息VO
 *
 * @author tmerclub
 * @date 2020-10-28 15:27:24
 */
public class SkuAppVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "属性id")
    private Long skuId;

    @Schema(description = "SPU id")
    private Long spuId;

    @Schema(description = "sku名称")
    private String skuName;

    @Schema(description = "主图：sku有图片使用sku图片，否则使用商品主图")
    private String mainImgUrl;

    @Schema(description = "banner图片")
    private String imgUrl;

    @Schema(description = "售价，整数方式保存")
    private Long priceFee;

    @Schema(description = "市场价，整数方式保存")
    private Long marketPriceFee;

    @Schema(description = "商品sku销量")
    private Integer saleNum;

    @Schema(description = "库存")
    private Integer stock;

    @Schema(description = "库存预警")
    private Integer stockWarning;

    @Schema(description = "组合商品列表")
    private List<SkuComboVO> skuComboList;

    public List<SkuComboVO> getSkuComboList() {
        return skuComboList;
    }

    public void setSkuComboList(List<SkuComboVO> skuComboList) {
        this.skuComboList = skuComboList;
    }

    public Integer getStockWarning() {
        return stockWarning;
    }

    public void setStockWarning(Integer stockWarning) {
        this.stockWarning = stockWarning;
    }

    public Integer getSupplierStock() {
        return supplierStock;
    }

    public void setSupplierStock(Integer supplierStock) {
        this.supplierStock = supplierStock;
    }

    @Schema(description = "供应商品库存")
    private Integer supplierStock;

    @Schema(description = "积分价格")
    private Long scoreFee;

    @Schema(description = "属性")
    private String properties;

    @Schema(description = "当商品为代销商品时，供应商商品skuId")
    private Long supplierSkuId;

    @Schema(description = "定金数额")
    private Long depositAmount;
    @Schema(description = "定金膨胀数额")
    private Long depositExpansionAmount;

    public Long getDepositAmount() {
        return depositAmount;
    }

    public void setDepositAmount(Long depositAmount) {
        this.depositAmount = depositAmount;
    }

    public Long getDepositExpansionAmount() {
        return depositExpansionAmount;
    }

    public void setDepositExpansionAmount(Long depositExpansionAmount) {
        this.depositExpansionAmount = depositExpansionAmount;
    }

    public Long getSupplierSkuId() {
        return supplierSkuId;
    }

    public void setSupplierSkuId(Long supplierSkuId) {
        this.supplierSkuId = supplierSkuId;
    }

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public Long getSpuId() {
        return spuId;
    }

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

    public String getSkuName() {
        return skuName;
    }

    public void setSkuName(String skuName) {
        this.skuName = skuName;
    }

    public String getImgUrl() {
        return imgUrl;
    }

    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }

    public Long getPriceFee() {
        return priceFee;
    }

    public void setPriceFee(Long priceFee) {
        this.priceFee = priceFee;
    }

    public Long getMarketPriceFee() {
        return marketPriceFee;
    }

    public void setMarketPriceFee(Long marketPriceFee) {
        this.marketPriceFee = marketPriceFee;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public Long getScoreFee() {
        return scoreFee;
    }

    public void setScoreFee(Long scoreFee) {
        this.scoreFee = scoreFee;
    }

    public String getProperties() {
        return properties;
    }

    public void setProperties(String properties) {
        this.properties = properties;
    }

    public String getMainImgUrl() {
        return mainImgUrl;
    }

    public void setMainImgUrl(String mainImgUrl) {
        this.mainImgUrl = mainImgUrl;
    }

    public Integer getSaleNum() {
        return saleNum;
    }

    public void setSaleNum(Integer saleNum) {
        this.saleNum = saleNum;
    }

    @Override
    public String toString() {
        return "SkuAppVO{" +
                "skuId=" + skuId +
                ", spuId=" + spuId +
                ", skuName='" + skuName + '\'' +
                ", mainImgUrl='" + mainImgUrl + '\'' +
                ", imgUrl='" + imgUrl + '\'' +
                ", priceFee=" + priceFee +
                ", marketPriceFee=" + marketPriceFee +
                ", saleNum=" + saleNum +
                ", stock=" + stock +
                ", stockWarning=" + stockWarning +
                ", skuComboList=" + skuComboList +
                ", supplierStock=" + supplierStock +
                ", scoreFee=" + scoreFee +
                ", properties='" + properties + '\'' +
                ", supplierSkuId=" + supplierSkuId +
                ", depositAmount=" + depositAmount +
                ", depositExpansionAmount=" + depositExpansionAmount +
                '}';
    }
}
