package com.hzs.report.member.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;

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

/**
 * <p>
 * 统计分析-收入明细VO
 * </p>
 *
 * @author hzs
 * @since 2022-08-31
 */
@Data
public class RevenueDetailsVO {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long pkId;
    /**
     * 序号
     */
    @Excel(name = "序号")
    private Integer rowNumber;

    /**
     * 会员编号
     */
    private Long pkMember;
    /**
     * 会员编号
     */
    @Excel(name = "会员编号")
    private String memberCode;

    /**
     * 会员姓名
     */
    @Excel(name = "会员姓名")
    private String memberName;
    /**
     * 手机号码
     */
    private String phone;
    /**
     * 注册等级
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
    private Integer pkRegisterGrade;

    /**
     * 注册等级
     */
    @Excel(name = "注册等级")
    private String pkRegisterGradeVal;
    /**
     * 奖衔
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD)
    private Integer pkAwards;

    /**
     * 奖衔
     */
    @Excel(name = "真实奖衔")
    private String pkAwardsVal;
    /**
     * 隶属体系
     */
    @Excel(name = "隶属体系")
    private String vertexName;
    /**
     * 团队名称
     */
    @Excel(name = "隶属团队")
    private String teamName;
    /**
     * 首购累计收入 首购累计+ 创客空间收益小计
     */
    @Excel(name = "首购累计收入(￥)")
    private BigDecimal purRealSubtotal=BigDecimal.ZERO;
    /**
     * 复购累计收入
     */
    @Excel(name = "复购累计收入(￥)")
    private BigDecimal repurRealSubtotal=BigDecimal.ZERO;

    /**
     * 合计累计收入
     */
    @Excel(name = "合计累计收入(￥)")
    private BigDecimal realIncomeTotal=BigDecimal.ZERO;

    /**
     * 结算期间
     */
    private Integer period;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;
    /**
     * 创建时间开始时间
     */
    private String startDate;

    /**
     * 创建时间结束时间
     */
    private String endDate;

    /**
     * 隶属体系
     */
    private Integer pkVertex;
    /**
     * 隶属团队
     */
    private Integer pkTeamCode;

    private Integer pkGrade;

    /**
     * 国家
     */
    private Integer pkCountry;



}
