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 StoreBase implements Serializable {

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

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

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

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

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

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

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

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

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

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

    @ApiModelProperty("下单客单价，下单金额/下单人数")
    private BigDecimal orderSubmitAtv;

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

    @ApiModelProperty("支付订单金额")
    private BigDecimal orderPayAmount;

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

    @ApiModelProperty("支付订单客单价，支付订单金额/支付订单人数")
    private BigDecimal orderPayAtv;

    @ApiModelProperty("访问-下单转化率，下单人数/访客数*100%")
    private String pvSubmitRate;

    @ApiModelProperty("访问-支付转化率，支付订单人数/访客数*100%")
    private String pvPayRate;

    @ApiModelProperty("下单-支付转化率，支付订单人数/下单人数*100%")
    private String submitPayRate;

    @ApiModelProperty("商品访客数")
    private Integer goodsVisitorNum;

    @ApiModelProperty("商品浏览量")
    private Integer goodsViewNum;

    @ApiModelProperty("被访问商品数")
    private Integer viewGoodsNum;

    @ApiModelProperty("新增商品数")
    private Integer newGoodsNum;

    @ApiModelProperty("新增品牌数")
    private Integer newBrandNum;

    @ApiModelProperty("被收藏商品数")
    private Integer collectionGoodsNum;

    @ApiModelProperty("店铺关注数")
    private Integer collectionStoreNum;

    @ApiModelProperty("动销商品数")
    private Integer salingGoodsNum;

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

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

    @ApiModelProperty("新增用户数")
    private Integer newMemberNum;

    @ApiModelProperty("人均浏览量")
    private BigDecimal perViewNum;

    public void copy(StoreBase storeBase) {
        BeanUtils.copyProperties(storeBase, this);
    }
}
