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.io.Serializable;
import java.util.Date;

/**
 * @description: 推荐反差返回的数据
 * @author: zhangjing
 * @time: 2023/8/28 10:17
 * @classname: CuMemberAchieveVO
 * @package_name: com.hzs.report.member.vo
 * version 1.0.0
 */
@Data
public class CuMemberPushAchieveVO implements Serializable {

    /**
     * 层/代
     */
    @Excel(name = "层级")
    private Integer algebra;

    /**
     * 会员编号
     */
    @Excel(name = "会员编号")
    private String memberCode;

    /**
     * 会员名称
     */
    @Excel(name = "会员姓名")
    private String memberName;

    /**
     * 手机号码
     */
    @Excel(name = "联系方式")
    private String phone;

    /**
     * 注册等级
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
    private Integer pkRegisterGrade;

    @Excel(name = "注册等级")
    private String pkRegisterGradeVal;

    /**
     * 结算等级
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
    private Integer pkGrade;

    @Excel(name = "结算等级")
    private String pkGradeVal;

    /**
     * 真实奖衔
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD)
    private Integer pkAwards;
    @Excel(name = "真实奖衔")
    private String pkAwardsVal;

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

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

    /**
     * 推荐人编号
     */
    @Excel(name = "推荐编号")
    private String parentCode;
    /**
     * 推荐人姓名
     */
    @Excel(name = "推荐姓名")
    private String parentName;
    /**
     * 安置人姓名
     */
    @Excel(name = "安置编号")
    private String placeCode;
    /**
     * 安置人姓名
     */
    @Excel(name = "安置姓名")
    private String placeName;
    /**
     * 安置部门
     */
    @Transaction(transactionKey = EnumsPrefixConstants.PLACE_DEPT)
    private Integer placeDept;
    /**
     * 安置部门显示
     */
    @Excel(name = "安置部门")
    private String placeDeptVal;

    /**
     * 会员类型（0=正常、1=撤单、2=退单）
     */
    @Transaction(transactionKey = EnumsPrefixConstants.ENU_CAT)
    private Integer category;
    /**
     * 会员类型显示
     */
    @Excel(name = "会员类型")
    private String categoryVal;

    /**
     * 考核状态 (0=考核通过,1=免考通过,2=考核不通过,3=不考核)
     */
    @Transaction(transactionKey = EnumsPrefixConstants.ASSESS_STATUS)
    private Integer assessStatus;

    private String assessStatusVal;

    /**
     * 注册日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "注册日期", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

}
