package com.hzs.member.achieve.controller.vo;

import com.hzs.common.core.annotation.BigDecimalFormat;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;

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


/**
 * <p>
 * 直推业绩统计VO
 * </p>
 *
 * @author zhangjing
 * @since 2023-05-17
 */
@Data
public class ParentAchieveVO {

    private static final long serialVersionUID = 1L;


    /**
     * 会员主键
     */
    private Long pkMember;
    /**
     * 会员主键
     */
    private Long pkMember2;
    /**
     * 会员主键
     */
    private Long pkMember3;
    /**
     * 会员主键
     */
    private Long pkMember4;
    /**
     * 会员主键
     */
    private Long pkMember5;
    /**
     * 会员主键
     */
    private Long pkMember6;
    /**
     * 会员主键
     */
    private Long pkMember7;
    /**
     * 会员主键
     */
    private Long pkMember8;
    /**
     * 会员主键
     */
    private Long pkMember9;
    /**
     * 会员主键
     */
    private Long pkMember10;

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

    /**
     * 等级
     */
    private Integer pkGrade;
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
    private Integer pkGradeKey;
    /**
     * 等级值
     */
    private Integer gradeValue;


    /**
     * 等级名称
     */
    private String pkGradeKeyVal;
    /**
     * 等级人数
     */
    private Integer peopleNumber;
    /**
     * 总业绩
     */
    @BigDecimalFormat
    private BigDecimal totalachieve;
    /**
     * 业绩
     */
    @BigDecimalFormat
    private BigDecimal achieve;

    /**
     * 比例
     */
    @BigDecimalFormat
    private BigDecimal ratio;


    /**
     * 创建时间开始时间
     */
    private String startDate;

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

    /**
     * 查询月
     */
    private String month;

    /**
     * 当月表名 业绩
     */
    private String achieveTableName;
    /**
     * 业绩月表
     */
    private String achieveTableMonth;
    /**
     * 上月表名
     */
    private String upAchieveTableName;

    /**
     * 上月直推表
     */
    private String treeTableNameSta;
    /**
     * 查询人表
     */
    private String treeTableNameEnd;
    /**
     * 国家
     */
    private Integer pkCountry;

    /**
     * 期数
     */
    private Integer period;

    @Transaction
    private List<ParentAchieveVO> list;
    /**
     * 前十人伞下等级业绩
     */
    @Transaction
    private List<ParentAchieveVO> umbrellaList;
    /**
     * 等级颜色
     */
    private String color;

    /**
     * 类型
     */
    private Integer wallType;

    private Integer startPeriod;

    private Integer endPeriod;

    private List<Long> pkMemberList;
}
