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

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.ruoyi.web.modules.goods.dto.GoodsAttrItemDTO;

/**
 * 商品详情
 */
public class GoodsDetailVO extends GoodsListVO
{
    private Long shopId;

    private Long categoryId;

    private Long shopCategoryId;

    private String shopCategoryPath;

    private Long attrTemplateId;

    private String attrTemplateName;

    private String detailContent;

    private String rejectReason;

    private Date submitTime;

    private Date auditTime;

    private Date offShelfTime;

    private boolean canAudit;

    private boolean canOffShelf;

    private boolean canSubmit;

    private boolean canDelete;

    private boolean canEdit;

    private List<GoodsServiceSnapshotVO> services = new ArrayList<>();

    private List<GoodsAttrItemDTO> attributes = new ArrayList<>();

    private List<GoodsAttrItemDTO> specs = new ArrayList<>();

    /** 商品副图 URL 列表（不含主图） */
    private List<String> subPics = new ArrayList<>();

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

    /** 固定运费金额 */
    private BigDecimal fixedFreightAmount;

    /** 运费模版 ID */
    private Long freightTemplateId;

    /** 运费模版名称 */
    private String freightTemplateName;

    /** 运费展示摘要（模版时） */
    private String freightDesc;

    public Long getShopId()
    {
        return shopId;
    }

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

    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 String getShopCategoryPath()
    {
        return shopCategoryPath;
    }

    public void setShopCategoryPath(String shopCategoryPath)
    {
        this.shopCategoryPath = shopCategoryPath;
    }

    public Long getAttrTemplateId()
    {
        return attrTemplateId;
    }

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

    public String getAttrTemplateName()
    {
        return attrTemplateName;
    }

    public void setAttrTemplateName(String attrTemplateName)
    {
        this.attrTemplateName = attrTemplateName;
    }

    public String getDetailContent()
    {
        return detailContent;
    }

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

    public String getRejectReason()
    {
        return rejectReason;
    }

    public void setRejectReason(String rejectReason)
    {
        this.rejectReason = rejectReason;
    }

    public Date getSubmitTime()
    {
        return submitTime;
    }

    public void setSubmitTime(Date submitTime)
    {
        this.submitTime = submitTime;
    }

    public Date getAuditTime()
    {
        return auditTime;
    }

    public void setAuditTime(Date auditTime)
    {
        this.auditTime = auditTime;
    }

    public Date getOffShelfTime()
    {
        return offShelfTime;
    }

    public void setOffShelfTime(Date offShelfTime)
    {
        this.offShelfTime = offShelfTime;
    }

    public boolean isCanAudit()
    {
        return canAudit;
    }

    public void setCanAudit(boolean canAudit)
    {
        this.canAudit = canAudit;
    }

    public boolean isCanOffShelf()
    {
        return canOffShelf;
    }

    public void setCanOffShelf(boolean canOffShelf)
    {
        this.canOffShelf = canOffShelf;
    }

    public boolean isCanSubmit()
    {
        return canSubmit;
    }

    public void setCanSubmit(boolean canSubmit)
    {
        this.canSubmit = canSubmit;
    }

    public boolean isCanDelete()
    {
        return canDelete;
    }

    public void setCanDelete(boolean canDelete)
    {
        this.canDelete = canDelete;
    }

    public boolean isCanEdit()
    {
        return canEdit;
    }

    public void setCanEdit(boolean canEdit)
    {
        this.canEdit = canEdit;
    }

    public List<GoodsServiceSnapshotVO> getServices()
    {
        return services;
    }

    public void setServices(List<GoodsServiceSnapshotVO> services)
    {
        this.services = services;
    }

    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 List<String> getSubPics()
    {
        return subPics;
    }

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

    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 getFreightTemplateName()
    {
        return freightTemplateName;
    }

    public void setFreightTemplateName(String freightTemplateName)
    {
        this.freightTemplateName = freightTemplateName;
    }

    public String getFreightDesc()
    {
        return freightDesc;
    }

    public void setFreightDesc(String freightDesc)
    {
        this.freightDesc = freightDesc;
    }
}
