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;

import java.util.List;

/**
 * 常用商品对象 favorite_product
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public class FavoriteProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** SKUID */
    @Excel(name = "SKUID")
    private String skuid;

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

    /** 店铺名称 */
    @Excel(name = "店铺名称")
    private String shopName;

    /** 店铺ID */
    @Excel(name = "店铺ID")
    private String shopId;

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

    /** 商品图片 */
    @Excel(name = "商品图片")
    private String productImage;

    /** 商品价格 */
    @Excel(name = "商品价格")
    private String price;

    /** 佣金信息 */
    @Excel(name = "佣金信息")
    private String commissionInfo;

    /** 是否置顶 */
    @Excel(name = "是否置顶", readConverterExp = "0=否,1=是")
    private Integer isTop;

    /** 排序权重 */
    @Excel(name = "排序权重")
    private Integer sortWeight;

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

    /** 创建用户ID */
    @Excel(name = "创建用户ID")
    private Long createUserId;

    /** 创建用户名 */
    @Excel(name = "创建用户名")
    private String createUserName;

    /** ERP商品ID列表（JSON格式） */
    private String erpProductIds;

    /** ERP商品ID列表（对象形式） */
    private List<ErpProductRelation> erpProducts;

    /** 商品分类 */
    @Excel(name = "商品分类")
    private String category;

    /** 商品品牌 */
    @Excel(name = "商品品牌")
    private String brand;

    /** 最后使用时间 */
    @Excel(name = "最后使用时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private String lastUsedTime;

    /** 使用次数 */
    @Excel(name = "使用次数")
    private Integer useCount;

    /** 发品后的商品ID */
    @Excel(name = "发品商品ID")
    private String productId;

    /** 发品状态 */
    @Excel(name = "发品状态")
    private Integer productStatus;

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

    public Long getId() 
    {
        return id;
    }

    public void setSkuid(String skuid) 
    {
        this.skuid = skuid;
    }

    public String getSkuid() 
    {
        return skuid;
    }

    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }

    public void setShopName(String shopName) 
    {
        this.shopName = shopName;
    }

    public String getShopName() 
    {
        return shopName;
    }

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

    public String getShopId() 
    {
        return shopId;
    }

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

    public String getProductUrl() 
    {
        return productUrl;
    }

    public void setProductImage(String productImage) 
    {
        this.productImage = productImage;
    }

    public String getProductImage() 
    {
        return productImage;
    }

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

    public String getPrice() 
    {
        return price;
    }

    public void setCommissionInfo(String commissionInfo) 
    {
        this.commissionInfo = commissionInfo;
    }

    public String getCommissionInfo() 
    {
        return commissionInfo;
    }

    public void setIsTop(Integer isTop) 
    {
        this.isTop = isTop;
    }

    public Integer getIsTop() 
    {
        return isTop;
    }

    public void setSortWeight(Integer sortWeight) 
    {
        this.sortWeight = sortWeight;
    }

    public Integer getSortWeight() 
    {
        return sortWeight;
    }

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

    public String getRemark() 
    {
        return remark;
    }

    public void setCreateUserId(Long createUserId) 
    {
        this.createUserId = createUserId;
    }

    public Long getCreateUserId() 
    {
        return createUserId;
    }

    public void setCreateUserName(String createUserName) 
    {
        this.createUserName = createUserName;
    }

    public String getCreateUserName() 
    {
        return createUserName;
    }

    public void setErpProductIds(String erpProductIds) 
    {
        this.erpProductIds = erpProductIds;
    }

    public String getErpProductIds() 
    {
        return erpProductIds;
    }

    public List<ErpProductRelation> getErpProducts() 
    {
        return erpProducts;
    }

    public void setErpProducts(List<ErpProductRelation> erpProducts) 
    {
        this.erpProducts = erpProducts;
    }

    public void setCategory(String category) 
    {
        this.category = category;
    }

    public String getCategory() 
    {
        return category;
    }

    public void setBrand(String brand) 
    {
        this.brand = brand;
    }

    public String getBrand() 
    {
        return brand;
    }

    public void setLastUsedTime(String lastUsedTime) 
    {
        this.lastUsedTime = lastUsedTime;
    }

    public String getLastUsedTime() 
    {
        return lastUsedTime;
    }

    public void setUseCount(Integer useCount) 
    {
        this.useCount = useCount;
    }

    public Integer getUseCount() 
    {
        return useCount;
    }

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

    public String getProductId() 
    {
        return productId;
    }

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

    public Integer getProductStatus() 
    {
        return productStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("skuid", getSkuid())
            .append("productName", getProductName())
            .append("shopName", getShopName())
            .append("shopId", getShopId())
            .append("productUrl", getProductUrl())
            .append("productImage", getProductImage())
            .append("price", getPrice())
            .append("commissionInfo", getCommissionInfo())
            .append("isTop", getIsTop())
            .append("sortWeight", getSortWeight())
            .append("remark", getRemark())
            .append("createUserId", getCreateUserId())
            .append("createUserName", getCreateUserName())
            .append("erpProductIds", getErpProductIds())
            .append("productId", getProductId())
            .append("productStatus", getProductStatus())
            .append("category", getCategory())
            .append("brand", getBrand())
            .append("lastUsedTime", getLastUsedTime())
            .append("useCount", getUseCount())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
