package com.hzs.bonus.bonus.vo;

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

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

/**
 * 奖金明细表
 */
@Data
public class CuMemberBonusVO implements Serializable {

    /**
     * 需要转换人民币的
     */
    public static final String[] INCOME_ARRAY = new String[]{
            "directIncome", "expandIncome", "expandNoCapping", "expandCapping",
            "coachIncome", "shareIncome", "serviceIncome", "cloudDirectIncome",
            "cloudPurIncome", "cloudRepurIncome", "repurPushIncome", "repurRangeIncome", "repurExpandIncome",
            "repurCoachIncome", "repurCoupon", "repurCouponShare", "backPoints", "serviceSpend",
            "globalPoints", "carAwardPoints", "storeIncome", "hiFunIncome",
            "makerDirectIncome", "makerShareIncome", "makerRealSubtotal", "purRealSubtotal",
            "cloudRealSubtotal", "repurRealSubtotal", "repurCouponSubtotal", "realIncomeTotal"};
    /**
     * 主键
     */
    private Long pkId;

    /**
     * 会员主键
     */
    private Long pkMember;

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

    /**
     * 会员名称
     */
    @Excel(name = "会员姓名")
    private String memberName;

    /**
     * 体系名称
     */
    @Excel(name = "隶属体系")
    private String vertexName;

    /**
     * 团队名称
     */
    @Excel(name = "隶属团队")
    private String teamName;

    /**
     * 期间
     */
    @Excel(name = "结算期数")
    private Integer period;

    /**
     * 结算日期
     */
    @Excel(name = "结算时间", dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date settleDate;

    /**
     * 结算等级
     */
    private Integer pkSettleGrade;

    /**
     * 真实奖衔
     */
    private Integer pkAwards;

    /**
     * 汇率
     */
    private Integer pkRate;

    /**
     * 收益状态 (0=正常，1=停止收益)
     */
    private Integer incomeStatus;

    /**
     * 发放状态 (1=已结算 2=已公布 3=已发放 4=可提现)
     */
    private Integer grantStatus;

    /**
     * 直推收益
     */
    @Excel(name = "直推收益", scale = 2)
    private BigDecimal directIncomeOri;

    /**
     * 直推收益
     */
    private BigDecimal directIncome;

    /**
     * 拓展收益
     */
    @Excel(name = "拓展收益", scale = 2)
    private BigDecimal expandIncomeOri;

    /**
     * 拓展收益
     */
    private BigDecimal expandIncome;

    /**
     * 拓展无封 (拓展收益按等级正常比例结算，并 拓展收益按等级正常比例结算 无封顶)
     */
    private BigDecimal expandNoCapping;

    /**
     * 拓展封顶 (拓展收益按等级正常比例结算，不按4-N结算，根据配置的封顶值限制最大收益)
     */
    private BigDecimal expandCapping;


    /**
     * 拓展无封 (拓展收益按等级正常比例结算，并 拓展收益按等级正常比例结算 无封顶)
     */
    private BigDecimal expandNoCappingOri;

    /**
     * 拓展封顶 (拓展收益按等级正常比例结算，不按4-N结算，根据配置的封顶值限制最大收益)
     */
    private BigDecimal expandCappingOri;

    /**
     * 辅导收益
     */
    @Excel(name = "辅导收益", scale = 2)
    private BigDecimal coachIncomeOri;

    /**
     * 辅导收益
     */
    private BigDecimal coachIncome;

    /**
     * 分红收益
     */
    @Excel(name = "分红收益", scale = 2)
    private BigDecimal shareIncomeOri;

    /**
     * 分红收益
     */
    private BigDecimal shareIncome;

    /**
     * 报单收益
     */
    @Excel(name = "报单收益", scale = 2)
    private BigDecimal serviceIncomeOri;

    /**
     * 报单收益
     */
    private BigDecimal serviceIncome;

    /**
     * 复购级差收益
     */
    private BigDecimal repurPushIncomeOri;

    /**
     * 复购级差收益
     */
    private BigDecimal repurPushIncome;

    /**
     * 复购级差收益
     */
    @Excel(name = "复购级差收益", scale = 2)
    private BigDecimal repurRangeIncomeOri;

    /**
     * 复购级差收益
     */
    private BigDecimal repurRangeIncome;


    /**
     * 复购拓展收益
     */
    @Excel(name = "复购拓展收益", scale = 2)
    private BigDecimal repurExpandIncomeOri;

    /**
     * 复购拓展收益
     */
    private BigDecimal repurExpandIncome;

    /**
     * 复购辅导收益
     */
    @Excel(name = "复购辅导收益", scale = 2)
    private BigDecimal repurCoachIncomeOri;
    /**
     * 复购辅导收益
     */
    private BigDecimal repurCoachIncome;

    /**
     * 复购卷
     */
    @Excel(name = "复购卷", scale = 2)
    private BigDecimal repurCouponOri;

    /**
     * 复购卷
     */
    private BigDecimal repurCoupon;

    /**
     * 复购券均分收益
     */
    @Excel(name = "复购券均分", scale = 2)
    private BigDecimal repurCouponShareOri;

    /**
     * 复购券均分收益
     */
    private BigDecimal repurCouponShare;

    /**
     * 商城重消
     */
    @Excel(name = "商城重消", scale = 2)
    private BigDecimal backPointsOri;

    /**
     * 商城重消
     */
    private BigDecimal backPoints;

    /**
     * 平台服务费
     */
    @Excel(name = "平台服务费", scale = 2)
    private BigDecimal serviceSpendOri;

    /**
     * 平台服务费
     */
    private BigDecimal serviceSpend;

    /**
     * 环球积分
     */
    @Excel(name = "直推极差", scale = 2)
    private BigDecimal globalPointsOri;

    /**
     * 环球积分
     */
    private BigDecimal globalPoints;

    /**
     * 车奖积分
     */
    @Excel(name = "车奖积分", scale = 2)
    private BigDecimal carAwardPointsOri;


    /**
     * 车奖积分
     */
    private BigDecimal carAwardPoints;

    /**
     * 店铺收益
     */
    private BigDecimal storeIncomeOri;

    /**
     * 店铺收益
     */
    private BigDecimal storeIncome;

    /**
     * 嗨粉推荐收益
     */
    private BigDecimal hiFunIncomeOri;

    /**
     * 嗨粉推荐收益
     */
    private BigDecimal hiFunIncome;

    /**
     * 首购实发小计
     */
    @Excel(name = "首购实发小计", scale = 2)
    private BigDecimal purRealSubtotalOri;

    /**
     * 首购实发小计
     */
    private BigDecimal purRealSubtotal;

    /**
     * 复购实发小计
     */
    @Excel(name = "复购实发小计", scale = 2)
    private BigDecimal repurRealSubtotalOri;

    /**
     * 复购实发小计
     */
    private BigDecimal repurRealSubtotal;

    /**
     * 复购券小计
     */
    @Excel(name = "复购券实发小计", scale = 2)
    private BigDecimal repurCouponSubtotalOri;

    /**
     * 复购券小计
     */
    private BigDecimal repurCouponSubtotal;

    /**
     * 实发收益总计
     */
    @Excel(name = "实发收益总计", scale = 2)
    private BigDecimal realIncomeTotalOri;


    /**
     * 实发收益总计
     */
    private BigDecimal realIncomeTotal;
}
