package com.hzs.report.member.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.BigDecimalFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;

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


/**
 * <p>
 * 会员户籍数据查询VO
 * </p>
 *
 * @author zhangjing
 * @since 2023-05-31
 */
@Data
public class DomicileDataVO {

    private static final long serialVersionUID = 1L;

    private Long pkId;
    private Long pkMember;

    /**
     * 会员编号
     **/
    @Excel(name = "会员编号")
    private String memberCode;
    /**
     * 会员姓名
     **/
    @Excel(name = "会员姓名")
    private String memberName;
    /**
     * 联系方式
     **/
    @Excel(name = "联系方式")
    private String phone;
    /**
     * 左区首购累计业绩
     **/
    @BigDecimalFormat
    @Excel(name = "左区首购累计业绩",scale = 2)
    private BigDecimal leftAchieve;
    /**
     * 右区业绩
     **/
    @BigDecimalFormat
    @Excel(name = "右区首购累计业绩",scale = 2)
    private BigDecimal rightAchieve;

    /**
     * 注册时间
     **/
    @Excel(name = "注册时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;
    /**
     * 真实奖衔
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD)
    private Integer pkAwards;

    @Excel(name = "真实奖衔")
    private String pkAwardsVal;

    /**
     * 直推人数
     */
    @Excel(name = "直推人数")
    private Integer parentCount;
    /**
     * 团队人数
     */
    @Excel(name = "团队人数")
    private Integer suggestCount;
    /**
     * 最新订单日期
     **/
    @Excel(name = "最新订单日期",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;
    /**
     * 相同手机号点位数量
     */
    @Excel(name = "相同手机号点位数量")
    private Integer phoneCount;
    /**
     * 变更次数
     */
    @Excel(name = "变更次数")
    private Integer changeNumber;

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

    private Integer staPeriod;
    private Integer endPeriod;

    private String staAchieveTableName;
    private String endAchieveTableName;






}
