package com.slodon.b2b2c.statistics.pojo.base;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 商品统计基类
 */
@Data
public class GoodsBase implements Serializable {

    private static final long serialVersionUID = 6158526030117536343L;
    @ApiModelProperty("统计id")
    private Long statsId;

    @ApiModelProperty("统计时间，数据统计的开始时间")
    private Date statsTime;

    @ApiModelProperty("站点")
    private String webSite;

    @ApiModelProperty("商品id")
    private Long goodsId;

    @ApiModelProperty("商品名称")
    private String goodsName;

    @ApiModelProperty("商品图片")
    private String goodsImage;

    @ApiModelProperty("访客数")
    private Integer visitorNum;

    @ApiModelProperty("浏览量")
    private Integer viewNum;

    @ApiModelProperty("下单数")
    private Integer orderSubmitNum;

    @ApiModelProperty("下单金额")
    private BigDecimal orderSubmitAmount;

    @ApiModelProperty("支付订单数")
    private Integer orderPayNum;

    @ApiModelProperty("销售额")
    private BigDecimal saleAmount;

    @ApiModelProperty("销量")
    private Integer saleNum;

    @ApiModelProperty("被收藏数")
    private Integer collectionNum;

    @ApiModelProperty("加购人数")
    private Integer addCartMemberNum;

    @ApiModelProperty("品牌id")
    private Integer brandId;

    @ApiModelProperty("品牌名称")
    private String brandName;

    @ApiModelProperty("店铺id")
    private Long storeId;

    @ApiModelProperty("店铺名称")
    private String storeName;

    @ApiModelProperty("商品分类id")
    private Integer goodsCategoryId1;

    @ApiModelProperty("商品分类名称")
    private String goodsCategoryName1;

    @ApiModelProperty("商品价格")
    private BigDecimal goodsPrice;

    @ApiModelProperty("退单数")
    private Integer returnNum;

    @ApiModelProperty("退单sku件数")
    private Integer returnProductNum;

    @ApiModelProperty("退单金额")
    private BigDecimal returnAmount;

    @ApiModelProperty("下单人数")
    private Integer orderSubmitMemberNum;

    public void copy(GoodsBase goodsBase) {
        BeanUtils.copyProperties(goodsBase, this);
    }
}
