
package com.tmerclub.cloud.flow.bo;

import com.tmerclub.cloud.common.model.BaseModel;
import lombok.Data;
import lombok.ToString;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.mapping.Document;

import java.io.Serializable;


/**
 * 商品数据统计
 *
 * @author YXF
 * @date 2020-07-13 13:18:33
 */
@CompoundIndexes({
        @CompoundIndex(name = "data_type_shop_idx", def = "{'dateType':1, 'shopId':1}")
})
@Document("flow_spu")
@Data
@ToString
public class FlowSpuBO extends BaseModel implements Serializable{

    public static final Integer ID_LENGTH = 19;


    /**
     * id: 日期（yyMMdd） + 递增id
     * 长度：19位
     */
    @Id
    private Long id;


    /**
     * 日期类型：日、周、月
     */
    private Integer dateType;

    /**
     * 商品id
     */
    private Long spuId;

    /**
     * 店铺id
     */
    private Long shopId;

    /**
     * 供应商商品id
     */
    private Long supplierSpuId;

    /**
     * 供应商商品id
     */
    private Long supplierId;

    /**
     * 曝光次数-浏览量
     */
    private Long visit;

    /**
     * 曝光人数-浏览人数
     */
    private Integer visitUser;


    /**
     * 加购件数
     */
    private Integer plusShopCart;


    /**
     * 加购人数
     */
    private Integer plusShopCartUser;

    /**
     * 下单人数
     */
    private Integer placeOrderUser;

    /**
     * 支付人数
     */
    private Integer payUser;

    /**
     * 下单件数
     */
    private Integer placeOrderNum;

    /**
     * 支付件数
     */
    private Integer payNum;

    /**
     * 下单金额
     */
    private Long placeOrderAmount;

    /**
     * 支付金额
     */
    private Long payAmount;

    /**
     * 申请退款订单数
     */
    private Integer applyRefundOrder;

    /**
     * 申请退款人数
     */
    private Integer applyRefundUser;

    /**
     * 申请退款金额
     */
    private Long applyRefundAmount;

    /**
     * 成功退款订单数
     */
    private Integer successRefundOrder;

    /**
     * 成功退款人数
     */
    private Integer successRefundUser;

    /**
     * 成功退款金额
     */
    private Long successRefundAmount;

    /**
     * 成功退款率
     */
    private Double refundRate;


}
