package com.dgtly.goods.domain;

import com.dgtly.system.domain.SysCompany;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dgtly.common.annotation.Excel;
import com.dgtly.common.core.domain.BaseEntity;
import java.util.Date;
import java.util.List;

/**
 * 商品基础详情对象 goods_info
 * 
 * @author dgtly
 * @date 2020-02-13
 */
public class GoodsInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String name;

    /** 所属公司id */
    @Excel(name = "所属公司id")
    private Long companyId;

    /** 所属类型id */
    @Excel(name = "所属类型id")
    private Long typeId;

    /** 一口价 */
    @Excel(name = "一口价")
    private Double price;

    /** 封面图片 */
    @Excel(name = "封面图片")
    private String cover;

    /** 轮播图，号分隔 */
    @Excel(name = "轮播图，号分隔")
    private String slideshow;

    /** 编辑器生成的详细描述html */
    @Excel(name = "编辑器生成的详细描述html")
    private String des;

    /** 配送方式 */
    @Excel(name = "配送方式")
    private String delivery;

    /** 生产日期 */
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date producedTime;

    /** 生产地点 */
    @Excel(name = "生产地点")
    private String producedAddress;

    /** 供货仓库地址 */
    @Excel(name = "供货仓库地址")
    private String warehouseAddress;

    /** 单重 */
    @Excel(name = "单重")
    private String weight;

    /** 商品材质 */
    @Excel(name = "商品材质")
    private String material;

    /** 上架标志（0代表草稿状态 1代表上架） */
    @Excel(name = "上架标志", readConverterExp = "0=代表草稿状态,1=代表上架")
    private String putawayFlag;

    /** '删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 属性列表*/
    private List<GoodsAttribute> goodsAttributes;

    private List<GoodsColor> goodsColors;
    private List<GoodsSize> goodsSizes;

    private String companyName;

    private String typeName;

    private String beginPrice;

    private String endPrice;


    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setCompanyId(Long companyId) 
    {
        this.companyId = companyId;
    }

    public Long getCompanyId() 
    {
        return companyId;
    }
    public void setTypeId(Long typeId) 
    {
        this.typeId = typeId;
    }

    public Long getTypeId() 
    {
        return typeId;
    }
    public void setPrice(Double price) 
    {
        this.price = price;
    }

    public Double getPrice() 
    {
        return price;
    }
    public void setCover(String cover) 
    {
        this.cover = cover;
    }

    public String getCover() 
    {
        return cover;
    }
    public void setSlideshow(String slideshow) 
    {
        this.slideshow = slideshow;
    }

    public String getSlideshow() 
    {
        return slideshow;
    }
    public void setDes(String des)
    {
        this.des = des;
    }

    public String getDes()
    {
        return des;
    }
    public void setDelivery(String delivery) 
    {
        this.delivery = delivery;
    }

    public String getDelivery() 
    {
        return delivery;
    }
    public void setProducedTime(Date producedTime) 
    {
        this.producedTime = producedTime;
    }

    public Date getProducedTime() 
    {
        return producedTime;
    }
    public void setProducedAddress(String producedAddress) 
    {
        this.producedAddress = producedAddress;
    }

    public String getProducedAddress() 
    {
        return producedAddress;
    }
    public void setWarehouseAddress(String warehouseAddress) 
    {
        this.warehouseAddress = warehouseAddress;
    }

    public String getWarehouseAddress() 
    {
        return warehouseAddress;
    }
    public void setWeight(String weight) 
    {
        this.weight = weight;
    }

    public String getWeight() 
    {
        return weight;
    }
    public void setPutawayFlag(String putawayFlag) 
    {
        this.putawayFlag = putawayFlag;
    }

    public String getPutawayFlag() 
    {
        return putawayFlag;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }


    public List<GoodsAttribute> getGoodsAttributes() {
        return goodsAttributes;
    }

    public void setGoodsAttributes(List<GoodsAttribute> goodsAttributes) {
        this.goodsAttributes = goodsAttributes;
    }

    public List<GoodsColor> getGoodsColors() {
        return goodsColors;
    }

    public void setGoodsColors(List<GoodsColor> goodsColors) {
        this.goodsColors = goodsColors;
    }

    public List<GoodsSize> getGoodsSizes() {
        return goodsSizes;
    }

    public void setGoodsSizes(List<GoodsSize> goodsSizes) {
        this.goodsSizes = goodsSizes;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getMaterial() {
        return material;
    }

    public void setMaterial(String material) {
        this.material = material;
    }


    public String getBeginPrice() {
        return beginPrice;
    }

    public void setBeginPrice(String beginPrice) {
        this.beginPrice = beginPrice;
    }

    public String getEndPrice() {
        return endPrice;
    }

    public void setEndPrice(String endPrice) {
        this.endPrice = endPrice;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("companyId", getCompanyId())
            .append("typeId", getTypeId())
            .append("price", getPrice())
            .append("cover", getCover())
            .append("slideshow", getSlideshow())
            .append("des", getDes())
            .append("delivery", getDelivery())
            .append("producedTime", getProducedTime())
            .append("producedAddress", getProducedAddress())
            .append("warehouseAddress", getWarehouseAddress())
            .append("weight", getWeight())
            .append("putawayFlag", getPutawayFlag())
            .append("delFlag", getDelFlag())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .append("remark", getRemark())
            .toString();
    }
}
