package com.hzs.bonus.bonus.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.BigDecimalFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * 用于查询会员奖金
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MemberBonusVO implements Serializable {

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

    /**
     * 会员编号
     */
    private String memberCode;

    /**
     * 会员名称
     */
    private String memberName;

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

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

    /**
     * 体系名称
     */
    private String vertexName;

    /**
     * 团队名称
     */
    private String teamName;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
     * 新零售直推级差收益
     */
    @BigDecimalFormat
    private BigDecimal retailRangeIncome;

    /**
     * 新零售平级收益
     */
    @BigDecimalFormat
    private BigDecimal retailSameLevelIncome;

    /**
     * 新零售区域收益
     */
    @BigDecimalFormat
    private BigDecimal retailAreaIncome;

    /**
     * 新零售福利极差收益
     */
    private BigDecimal retailBenefitRangeIncome;

    /**
     * 新零售福利平均收益
     */
    private BigDecimal retailBenefitAvgIncome;

    /**
     * 新零售福利加权收益
     */
    private BigDecimal retailBenefitIncome;

    /**
     * 新零售收益小计
     */
    @BigDecimalFormat
    private BigDecimal retailRealSubtotal;

    /**
     * 结算日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date settleDate;
}
