package com.hzs.retail.member.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;
import java.util.List;


/**
 * 会员业绩
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CuMemberRetailAchieveVO implements Serializable {

    private static final long serialVersionUID = 8887708386048809229L;

    /**
     * 会员ID
     */
    private Long pkMember;


    /**
     * 大区会员ID
     */
    private Long pkBigMember;

    /**
     * 会员编号
     */
    private String memberCode;
    /**
     * 会员名称
     */
    private String memberName;
    /**
     * 会员昵称
     */
    private String nickName;

    /**
     * 盒数
     */
    private Integer boxs;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 总盒数
     */
    private Integer totalBox;

    /**
     * 小市场盒数
     */
    private Integer smallAreaBox;


    /**
     * 大市场盒数
     */
    private Integer bigAreaBox;

    /**
     * 小区业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal smallAreaPv;

    /**
     * 大区业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal bigArealPv;


    /**
     * 业绩
     */
    @BigDecimalFormat()
    private BigDecimal arealPv;

    /**
     * 昨日业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal yesterdayPv;


    /**
     * 本月度业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal monthPv;

    /**
     * 上月业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal upMonthPv;


    /**
     * 累计业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal sumPv;


    /**
     * 今日业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal realTimePv;

    /**
     * 昨日总业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal totalYesterdayPv;


    /**
     * 月度总业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal totalMonthPv;


    /**
     * 累计总业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal totalSumPv;


    /**
     * 昨日小区业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal smallYesterdayPv;


    /**
     * 月度小区业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal smallMonthPv;

    /**
     * 累计小区业绩
     */
    @BigDecimalFormat("#0.0000")
    private BigDecimal smallSumPv;


    /**
     * 今日盒数
     */
    private Integer realTimeBox;
    /**
     * 昨日盒数
     */
    private Integer yesterdayBox;
    /**
     * 本月盒数
     */
    private Integer monthBox;
    /**
     * 上月盒数
     */
    private Integer upMonthBox;

    /**
     * 等级
     */
    private String grade;

    /**
     * 奖衔
     */
    private String award;


    /**
     * 返回信息（V5）
     */
    private String message;

    /**
     * 极差业绩表
     */
    private String memberRetailTable;
    /**
     * 前天表名
     */
    private String beforeYesterdayTableName;


    /**
     * 极差上月月底业绩表
     */
    private String retailUpMonthTable;

    /**
     * 上上月最后一天表名
     */
    private String secondMonthLastDayTable;

    /**
     * 会员金额、盒数表
     */
    private String memberAchieveBoxTable;


    /**
     * 极差业绩秒表
     */
    private String memberRetailSTable;


    private List<Long> pkMemberList;


    private Integer pkCountry;


    /**
     * 系统类型
     */
    private Integer systemType;


    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /**
     * 是否当月第一天
     */
    private Integer isFirst;
}

