package com.ruoyi.web.modules.goods.dto;

import java.math.BigDecimal;
import java.util.List;

/**
 * 商家保存商品
 */
public class GoodsSaveDTO
{
    private Long goodsId;

    private Long categoryId;

    /** 店铺商品分类（本店二级，可选） */
    private Long shopCategoryId;

    /** 属性模版（可选，用于删模版校验与编辑回显） */
    private Long attrTemplateId;

    private String goodsName;

    private String mainPic;

    /** 商品副图 URL 列表（可选，最多 10 张；不含主图） */
    private List<String> subPics;

    private String detailContent;

    private BigDecimal salePrice;

    private Integer stock;

    private List<Long> serviceIds;

    /** 商品属性项（可选；选用模版后可修改） */
    private List<GoodsAttrItemDTO> attributes;

    /** 商品规格项（可选；选用模版后可修改） */
    private List<GoodsAttrItemDTO> specs;

    /** 配送运费类型：1 固定运费 2 运费模版（必填） */
    private String freightType;

    /** 固定运费金额（freightType=1 时必填） */
    private BigDecimal fixedFreightAmount;

    /** 运费模版 ID（freightType=2 时必填） */
    private Long freightTemplateId;

    /** 禁止通过保存接口修改，传入则拒收 */
    private String goodsStatus;

    public Long getGoodsId()
    {
        return goodsId;
    }

    public void setGoodsId(Long goodsId)
    {
        this.goodsId = goodsId;
    }

    public Long getCategoryId()
    {
        return categoryId;
    }

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

    public Long getShopCategoryId()
    {
        return shopCategoryId;
    }

    public void setShopCategoryId(Long shopCategoryId)
    {
        this.shopCategoryId = shopCategoryId;
    }

    public Long getAttrTemplateId()
    {
        return attrTemplateId;
    }

    public void setAttrTemplateId(Long attrTemplateId)
    {
        this.attrTemplateId = attrTemplateId;
    }

    public String getGoodsName()
    {
        return goodsName;
    }

    public void setGoodsName(String goodsName)
    {
        this.goodsName = goodsName;
    }

    public String getMainPic()
    {
        return mainPic;
    }

    public void setMainPic(String mainPic)
    {
        this.mainPic = mainPic;
    }

    public List<String> getSubPics()
    {
        return subPics;
    }

    public void setSubPics(List<String> subPics)
    {
        this.subPics = subPics;
    }

    public String getDetailContent()
    {
        return detailContent;
    }

    public void setDetailContent(String detailContent)
    {
        this.detailContent = detailContent;
    }

    public BigDecimal getSalePrice()
    {
        return salePrice;
    }

    public void setSalePrice(BigDecimal salePrice)
    {
        this.salePrice = salePrice;
    }

    public Integer getStock()
    {
        return stock;
    }

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

    public List<Long> getServiceIds()
    {
        return serviceIds;
    }

    public void setServiceIds(List<Long> serviceIds)
    {
        this.serviceIds = serviceIds;
    }

    public List<GoodsAttrItemDTO> getAttributes()
    {
        return attributes;
    }

    public void setAttributes(List<GoodsAttrItemDTO> attributes)
    {
        this.attributes = attributes;
    }

    public List<GoodsAttrItemDTO> getSpecs()
    {
        return specs;
    }

    public void setSpecs(List<GoodsAttrItemDTO> specs)
    {
        this.specs = specs;
    }

    public String getFreightType()
    {
        return freightType;
    }

    public void setFreightType(String freightType)
    {
        this.freightType = freightType;
    }

    public BigDecimal getFixedFreightAmount()
    {
        return fixedFreightAmount;
    }

    public void setFixedFreightAmount(BigDecimal fixedFreightAmount)
    {
        this.fixedFreightAmount = fixedFreightAmount;
    }

    public Long getFreightTemplateId()
    {
        return freightTemplateId;
    }

    public void setFreightTemplateId(Long freightTemplateId)
    {
        this.freightTemplateId = freightTemplateId;
    }

    public String getGoodsStatus()
    {
        return goodsStatus;
    }

    public void setGoodsStatus(String goodsStatus)
    {
        this.goodsStatus = goodsStatus;
    }
}
