package com.hzs.member.handlebusiness.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 办理基础业务展示VO
 * @Author: zhangjing
 * @Time: 2022/10/13 11:21
 * @Classname: HandleBusinessVO
 * @PackageName: com.hzs.member.handleBusiness.vo
 */
@Data
@EqualsAndHashCode(callSuper = false)
@AllArgsConstructor
@NoArgsConstructor
public class HandleBusinessShowVO implements Serializable {


    private static final long serialVersionUID = -3368230838732084172L;
    /**
     * 会员ID
     */
    private Long pkMember;

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

    /**
     * 会员姓名
     */
    private String memberName;
    /**
     * 变更后会员姓名
     */
    @Excel(name = "变更会员姓名")
    private String newMemberName;

    /**
     * 联系方式
     */
    private String phone;
    /**
     * 变更后联系方式
     */
    @Excel(name = "变更联系方式")
    private String newPhone;

    /**
     * 结算国
     */
    private Integer pkSettleCountry;

    /**
     * 所属团队编号
     */
    private String teamMemberCode;

    /**
     * 所属团队姓名
     */
    private String teamMemberName;

    /**
     * 报单中心编号 服务中心编号
     */
    private String centerMemberCode;

    /**
     * 报单中心姓名 服务中心姓名
     */
    private String centerMemberName;

    /**
     * 结算等级
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
    @JsonIgnore
    private Integer pkRegisterGrade;
    /**
     * 结算等级显示
     */
    private String pkRegisterGradeVal;

    /**
     * 真实奖衔
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD)
    @JsonIgnore
    private Integer pkAwards;

    /**
     * 实名认证
     */
    @Transaction(transactionKey = EnumsPrefixConstants.YES_NO_ATTESTATION)
    private Integer isRealName;
    private String isRealNameVal;

    /**
     * 是否收益区域
     */
    @Transaction(transactionKey = EnumsPrefixConstants.DEALER_YES_NO)
    private Integer isRegion;
    private String isRegionVal;

    private String pkAwardsVal;

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

    /**
     * 修改次数
     */
    private Integer editNumber;

    /**
     * 隶属团队
     */
    private String teamName;
    /**
     * 隶属体系
     */
    private String vertexName;
    /**
     * 注册等级
     */
    private String registerName;
    /**
     * 结算等级
     */
    private String settleName;
    /**
     * 真实奖衔
     */
    private String awardsName;
    /**
     * 变更次数
     */
    private Integer changeNumber;

    /**
     * 体系ID
     */
    private Integer vertexId;
    /**
     * 团队ID
     */
    private Integer teamId;

    /**
     * 创建时间开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    /**
     * 创建时间结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

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

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

    /**
     * 创建人ID
     */
    @TableField("PK_CREATOR")
    private Long pkCreator;

    /**
     * 创建人
     */
    @TableField(exist = false)
    private String creator;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;

    /**
     * 修改人ID
     */
    private Long pkModified;

    /**
     * 修改人
     */
    private String modified;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifiedTime;

    /**
     * 逻辑删除 (0=未删除，1已删除)
     */
    private Integer delFlag;

    /**
     * 国家
     */
    private Integer pkCountry;
    /**
     * 系统类型
     */
    private Integer systemType;

}

