
package com.tmerclub.cloud.flow.bo;

import com.tmerclub.cloud.common.model.BaseModel;
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 = "user_idx", def = "{'userId':1}")
})
@Document("flow_user_operation")
public class FlowUserOperationBO extends BaseModel implements Serializable{



    /**
     * id: 日期（yyMMdd）+ 会员类型（1：会员  0：访客）  +编号
     * 长度：18位
     */
    @Id
    private Long id;
    /**
     * 用户id
     */
    private Long userId;


    /**
     * 步骤数
     */
    private Integer step;

    /**
     * 省id
     */
    private Long provinceId;

    /**
     * 浏览量
     */
    private Integer visitNum;

    /**
     * 加购数量
     */
    private Integer plusShopCartNum;

    /**
     * 是否新用户 1：新注册用户  0：老用户
     */
    private Integer newUser;

    /**
     * 是否新会员（付费） 1：新付费会员  0：非新付费会员
     */
    private Integer newVipUser;

    /**
     * 是否付费会员 1：付费会员  0：普通会员
     */
    private Integer vipUser;

    /**
     * 是否为会员 1：会员  0：访客
     */
    private Integer membership;

    /**
     * 是否领优惠券 1：领券  0：未领券
     */
    private Integer receiveCoupon;

    /**
     * 是否下单 1：是  0：否
     */
    private Integer placeOrder;

    /**
     * 是否支付 1：是  0：否
     */
    private Integer pay;

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

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

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

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

    public Long getId() {
        return id;
    }

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

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Integer getStep() {
        return step;
    }

    public void setStep(Integer step) {
        this.step = step;
    }

    public Long getProvinceId() {
        return provinceId;
    }

    public void setProvinceId(Long provinceId) {
        this.provinceId = provinceId;
    }

    public Integer getVisitNum() {
        return visitNum;
    }

    public void setVisitNum(Integer visitNum) {
        this.visitNum = visitNum;
    }

    public Integer getPlusShopCartNum() {
        return plusShopCartNum;
    }

    public void setPlusShopCartNum(Integer plusShopCartNum) {
        this.plusShopCartNum = plusShopCartNum;
    }

    public Integer getNewUser() {
        return newUser;
    }

    public void setNewUser(Integer newUser) {
        this.newUser = newUser;
    }

    public Integer getNewVipUser() {
        return newVipUser;
    }

    public void setNewVipUser(Integer newVipUser) {
        this.newVipUser = newVipUser;
    }

    public Integer getVipUser() {
        return vipUser;
    }

    public void setVipUser(Integer vipUser) {
        this.vipUser = vipUser;
    }

    public Integer getMembership() {
        return membership;
    }

    public void setMembership(Integer membership) {
        this.membership = membership;
    }

    public Integer getReceiveCoupon() {
        return receiveCoupon;
    }

    public void setReceiveCoupon(Integer receiveCoupon) {
        this.receiveCoupon = receiveCoupon;
    }

    public Integer getPlaceOrder() {
        return placeOrder;
    }

    public void setPlaceOrder(Integer placeOrder) {
        this.placeOrder = placeOrder;
    }

    public Integer getPay() {
        return pay;
    }

    public void setPay(Integer pay) {
        this.pay = pay;
    }

    public Integer getPlaceOrderNum() {
        return placeOrderNum;
    }

    public void setPlaceOrderNum(Integer placeOrderNum) {
        this.placeOrderNum = placeOrderNum;
    }

    public Integer getPayNum() {
        return payNum;
    }

    public void setPayNum(Integer payNum) {
        this.payNum = payNum;
    }

    public Integer getPlaceOrderAmount() {
        return placeOrderAmount;
    }

    public void setPlaceOrderAmount(Integer placeOrderAmount) {
        this.placeOrderAmount = placeOrderAmount;
    }

    public Integer getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(Integer payAmount) {
        this.payAmount = payAmount;
    }

    @Override
    public String toString() {
        return "UserAnalyseLogBO{" +
                "id=" + id +
                ", userId=" + userId +
                ", step=" + step +
                ", provinceId=" + provinceId +
                ", visitNum=" + visitNum +
                ", plusShopCartNum=" + plusShopCartNum +
                ", newUser=" + newUser +
                ", newVipUser=" + newVipUser +
                ", vipUser=" + vipUser +
                ", membership=" + membership +
                ", receiveCoupon=" + receiveCoupon +
                ", placeOrder=" + placeOrder +
                ", pay=" + pay +
                ", placeOrderNum=" + placeOrderNum +
                ", payNum=" + payNum +
                ", placeOrderAmount=" + placeOrderAmount +
                ", payAmount=" + payAmount +
                '}';
    }
}
