package com.ruoyi.jarvis.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 闲鱼商品对象 erp_product
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public class ErpProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 管家商品ID */
    @Excel(name = "管家商品ID")
    private Long productId;

    /** 商品标题 */
    @Excel(name = "商品标题")
    private String title;

    /** 商品图片（主图） */
    @Excel(name = "商品图片")
    private String mainImage;

    /** 商品价格（分） */
    @Excel(name = "商品价格")
    private Long price;

    /** 商品库存 */
    @Excel(name = "商品库存")
    private Integer stock;

    /** 商品状态 -1:删除 21:待发布 22:销售中 23:已售罄 31:手动下架 33:售出下架 36:自动下架 */
    @Excel(name = "商品状态", readConverterExp = "-1=删除,21=待发布,22=销售中,23=已售罄,31=手动下架,33=售出下架,36=自动下架")
    private Integer productStatus;

    /** 销售状态 */
    @Excel(name = "销售状态")
    private Integer saleStatus;

    /** 闲鱼会员名 */
    @Excel(name = "闲鱼会员名")
    private String userName;

    /** 上架时间 */
    @Excel(name = "上架时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Long onlineTime;

    /** 下架时间 */
    @Excel(name = "下架时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Long offlineTime;

    /** 售出时间 */
    @Excel(name = "售出时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Long soldTime;

    /** 创建时间（闲鱼） */
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Long createTimeXy;

    /** 更新时间（闲鱼） */
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Long updateTimeXy;

    /** ERP应用ID */
    @Excel(name = "ERP应用ID")
    private String appid;

    /** 商品链接 */
    @Excel(name = "商品链接")
    private String productUrl;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

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

    public Long getId() 
    {
        return id;
    }

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }

    public void setMainImage(String mainImage) 
    {
        this.mainImage = mainImage;
    }

    public String getMainImage() 
    {
        return mainImage;
    }

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

    public Long getPrice() 
    {
        return price;
    }

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

    public Integer getStock() 
    {
        return stock;
    }

    public void setProductStatus(Integer productStatus) 
    {
        this.productStatus = productStatus;
    }

    public Integer getProductStatus() 
    {
        return productStatus;
    }

    public void setSaleStatus(Integer saleStatus) 
    {
        this.saleStatus = saleStatus;
    }

    public Integer getSaleStatus() 
    {
        return saleStatus;
    }

    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }

    public void setOnlineTime(Long onlineTime) 
    {
        this.onlineTime = onlineTime;
    }

    public Long getOnlineTime() 
    {
        return onlineTime;
    }

    public void setOfflineTime(Long offlineTime) 
    {
        this.offlineTime = offlineTime;
    }

    public Long getOfflineTime() 
    {
        return offlineTime;
    }

    public void setSoldTime(Long soldTime) 
    {
        this.soldTime = soldTime;
    }

    public Long getSoldTime() 
    {
        return soldTime;
    }

    public void setCreateTimeXy(Long createTimeXy) 
    {
        this.createTimeXy = createTimeXy;
    }

    public Long getCreateTimeXy() 
    {
        return createTimeXy;
    }

    public void setUpdateTimeXy(Long updateTimeXy) 
    {
        this.updateTimeXy = updateTimeXy;
    }

    public Long getUpdateTimeXy() 
    {
        return updateTimeXy;
    }

    public void setAppid(String appid) 
    {
        this.appid = appid;
    }

    public String getAppid() 
    {
        return appid;
    }

    public void setProductUrl(String productUrl) 
    {
        this.productUrl = productUrl;
    }

    public String getProductUrl() 
    {
        return productUrl;
    }

    @Override
    public void setRemark(String remark) 
    {
        this.remark = remark;
    }

    @Override
    public String getRemark() 
    {
        return remark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productId", getProductId())
            .append("title", getTitle())
            .append("mainImage", getMainImage())
            .append("price", getPrice())
            .append("stock", getStock())
            .append("productStatus", getProductStatus())
            .append("saleStatus", getSaleStatus())
            .append("userName", getUserName())
            .append("onlineTime", getOnlineTime())
            .append("offlineTime", getOfflineTime())
            .append("soldTime", getSoldTime())
            .append("createTimeXy", getCreateTimeXy())
            .append("updateTimeXy", getUpdateTimeXy())
            .append("appid", getAppid())
            .append("productUrl", getProductUrl())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}

