package com.hzs.report.member.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
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.util.Date;

/**
 * 会员信息-结算等级升级记录VO
 */
@Data
public class CuMemberGradeRecordVO {

    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 orderCode;

    /**
     * 手机号码
     */
    @Excel(name = "联系方式")
    private String phone;
    /**
     * 注册等级
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
    private Integer pkRegisterGrade;

    /**
     * 注册等级
     */
    private String pkRegisterGradeVal;

    /**
     * 原等级
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
    private Integer oldLevel;
    /**
     * 原等级
     */
    @Excel(name = "原等级")
    private String oldLevelVal;
    /**
     * 新等级
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
    private Integer newLevel;
    @Excel(name = "新等级")
    private String newLevelVal;


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



    /**
     * 晋升方式 EUpgradeType
     */
    @Transaction(transactionKey = EnumsPrefixConstants.UPGRADE_TYPE)
    private Integer upType;
    @Excel(name = "晋升方式")
    private String upTypeVal;

    /**
     * 创建时间
     */
    @Excel(name = "晋升日期", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;


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

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


    /**
     * 隶属体系
     */
    private Integer pkVertex;
    /**
     * 隶属团队
     */
    private Integer pkTeamCode;

    /**
     * 国家
     */
    private Integer pkCountry;
    /**
     * 系统类型 ESystemType 2 新零售
     */
    private Integer systemType;

    private Integer pkGrade;


}
