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

import com.tmerclub.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;

import java.io.Serial;
import java.io.Serializable;

/**
 * 套装商品sku项VO
 *
 * @author tmerclub
 * @date 2022-08-16 09:18:06
 */
public class ComboSpuSkuVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "套餐商品sku项id")
    private Long comboSpuId;

    @Schema(description = "skuId")
    @NotNull(message = "skuId不能为空")
    private Long skuId;

    @Schema(description = "搭配价格")
    @NotNull(message = "搭配价格不能为空")
    private Long matchingPrice;

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

    @Schema(description = "sku图片")
    private String pic;

    @Schema(description = "sku价格")
    private Long priceFee;

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

    @Schema(description = "sku状态 0 禁用 1 启用 -1 删除")
    private Integer skuStatus;

    @Schema(description = "销售属性组合字符串 格式是p1:v1;p2:v2")
    private String properties;

    @Schema(description = "套餐id")
    private Long comboId;

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

    public Long getSpuId() {
        return spuId;
    }

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

    public Long getComboId() {
        return comboId;
    }

    public void setComboId(Long comboId) {
        this.comboId = comboId;
    }

    /**
     * 商品是否必选：1：是 0：否
     */
    private Integer spuRequired;

    public String getSkuName() {
        return skuName;
    }


    public String getPic() {
        return pic;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    public Long getPriceFee() {
        return priceFee;
    }

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

    public Integer getStocks() {
        return stocks;
    }

    public void setStocks(Integer stocks) {
        this.stocks = stocks;
    }

    public Integer getSkuStatus() {
        return skuStatus;
    }

    public void setSkuStatus(Integer skuStatus) {
        this.skuStatus = skuStatus;
    }

    public String getProperties() {
        return properties;
    }

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

    public Integer getSpuRequired() {
        return spuRequired;
    }

    public void setSpuRequired(Integer spuRequired) {
        this.spuRequired = spuRequired;
    }

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

    public Long getComboSpuId() {
        return comboSpuId;
    }

    public void setComboSpuId(Long comboSpuId) {
        this.comboSpuId = comboSpuId;
    }

    public Long getSkuId() {
        return skuId;
    }

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

    public Long getMatchingPrice() {
        return matchingPrice;
    }

    public void setMatchingPrice(Long matchingPrice) {
        this.matchingPrice = matchingPrice;
    }

    @Override
    public String toString() {
        return "ComboSpuSkuVO{" +
                "comboSpuId=" + comboSpuId +
                ", skuId=" + skuId +
                ", matchingPrice=" + matchingPrice +
                ", skuName='" + skuName + '\'' +
                ", pic='" + pic + '\'' +
                ", priceFee=" + priceFee +
                ", stocks=" + stocks +
                ", skuStatus=" + skuStatus +
                ", properties='" + properties + '\'' +
                ", comboId=" + comboId +
                ", spuId=" + spuId +
                ", spuRequired=" + spuRequired +
                '}';
    }
}
