package com.hzs.member.statis.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.core.annotation.BigDecimalFormat;
import com.hzs.common.core.annotation.Excel;
import lombok.Data;

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

/**
 * 顶点奖金拨比汇总统计
 * 把时间范围内的数据，每个顶点汇总成一条数据
 * 数据来自 订单表奖金明细表
 */
@Data
public class CuBonusVertexStatisTotalVO {

    private static final long serialVersionUID = 1L;

    private Long pkId;

    /**
     * 日，月，年，全
     */
    private String statisType;

    /**
     * 顶点编号
     */
    @Excel(name = "顶点编号")
    private String memberCode;
    /**
     * 顶点名称
     */
    @Excel(name = "顶点名称")
    private String memberName;

    /**
     * 精品专区金额
     */
    @Excel(name = "精品专区", scale = 2)
    @BigDecimalFormat
    private BigDecimal mainRegAmount = BigDecimal.ZERO;
    /**
     * 甄选专区金额
     */
    private BigDecimal mainUpAmount = BigDecimal.ZERO;
    /**
     * 精品专区金额
     */
    @Excel(name = "精品专区奖金", scale = 2)
    @BigDecimalFormat
    private BigDecimal mainBonus = BigDecimal.ZERO;
    /**
     * 精品专区金额
     */
    @Excel(name = "精品专区拨比(%)", scale = 2)
    @BigDecimalFormat
    private BigDecimal mainBonusRate = BigDecimal.ZERO;

    /**
     * 商城专区金额
     */
    @Excel(name = "北大甄选", scale = 2)
    @BigDecimalFormat
    private BigDecimal mainRepurAmount = BigDecimal.ZERO;
    /**
     * 商城专区金额
     */
    @Excel(name = "北大甄选奖金", scale = 2)
    @BigDecimalFormat
    private BigDecimal mainRepurBonus = BigDecimal.ZERO;
    /**
     * 商城专区金额
     */
    @Excel(name = "北大甄选拨比(%)", scale = 2)
    @BigDecimalFormat
    private BigDecimal mainRepurBonusRate = BigDecimal.ZERO;

    /**
     * 五折专区金额
     */
    @Excel(name = "五折专区", scale = 2)
    @BigDecimalFormat
    private BigDecimal retailConsumeAmount = BigDecimal.ZERO;
    /**
     * 五折专区金额
     */
    @Excel(name = "五折专区奖金", scale = 2)
    @BigDecimalFormat
    private BigDecimal retailConsumeBonus = BigDecimal.ZERO;
    /**
     * 五折专区金额
     */
    @Excel(name = "五折专区拨比(%)", scale = 2)
    @BigDecimalFormat
    private BigDecimal retailConsumeBonusRate = BigDecimal.ZERO;

    /**
     * 直推收益
     */
    @JsonIgnore
    private BigDecimal introduceBonus;
    /**
     * 阶段收益
     */
    @JsonIgnore
    private BigDecimal storeIncome = BigDecimal.ZERO;
    /**
     * 精品专区领导奖级差（统计波比使用）
     */
    @JsonIgnore
    private BigDecimal rangeIncome41 = BigDecimal.ZERO;
    /**
     * 精品专区平级（统计波比使用）
     */
    @JsonIgnore
    private BigDecimal sameLevelIncome41 = BigDecimal.ZERO;
    /**
     * 见点收益
     */
    @JsonIgnore
    private BigDecimal globalPoints = BigDecimal.ZERO;
    /**
     * 商城专区领导奖级差（统计波比使用）
     */
    @JsonIgnore
    private BigDecimal rangeIncome43 = BigDecimal.ZERO;
    /**
     * 商城专区平级（统计波比使用）
     */
    @JsonIgnore
    private BigDecimal sameLevelIncome43 = BigDecimal.ZERO;
    /**
     * 五折专区领导奖级差（统计波比使用）
     */
    @JsonIgnore
    private BigDecimal rangeIncome47 = BigDecimal.ZERO;
    /**
     * 领导奖级差收益
     */
    @JsonIgnore
    private BigDecimal retailRangeIncome = BigDecimal.ZERO;
    /**
     * 领导奖平级收益
     */
    @JsonIgnore
    private BigDecimal retailSameLevelIncome = BigDecimal.ZERO;

    /**
     * 合计金额
     */
    @Excel(name = "合计金额", scale = 2)
    @BigDecimalFormat
    private BigDecimal totalAmount = BigDecimal.ZERO;
    /**
     * 总拨出金额
     */
    @Excel(name = "总拨出金额", scale = 2)
    @BigDecimalFormat
    private BigDecimal totalBonus = BigDecimal.ZERO;
    /**
     * 总拨出比例（%）
     */
    @Excel(name = "总拨出比例(%)", scale = 2)
    @BigDecimalFormat
    private BigDecimal totalBonusRate = BigDecimal.ZERO;

    /////////////////////////////////////////////////////

    /**
     * 体系ID 统计体系
     */
    private Integer pkVertex;

    /**
     * 订单金额
     */
    private BigDecimal orderAmount = BigDecimal.ZERO;

    /**
     * 国家
     */
    private Integer pkCountry;
    /**
     * 体系集合
     */
    private String pkBdVertexStr;
    /**
     * 体系集合
     */
    private List<Integer> pkBdVertexList;

    /**
     * 开始时间
     */
    private String startDate;
    /**
     * 结束时间
     */
    private String endDate;
    /**
     * 汇率 *100
     */
    private BigDecimal perCent = BigDecimal.ZERO;

    /**
     * 汇率
     */
    private BigDecimal rate = BigDecimal.ZERO;

    private Date payTime;
    private String payTimeStr;
    private String modifiedTimeStr;
    private Date modifiedTime;
    private Integer orderStatus;
    private Integer delFlag;
    private Long pkMember;
    private Integer orderType;
    /**
     * 奖金类型
     */
    private Integer bonusType;
    /**
     * 重复消费%
     */
    @BigDecimalFormat
    private BigDecimal backRatio = BigDecimal.ZERO;

    /**
     * 本月会员网体表
     */
    private String settleTableName;

}
