package com.hzs.bonus.base.vo;

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

/**
 * @Description: 会员资料VO
 * @Author: jiang chao
 * @Time: 2023/1/11 15:15
 * @Classname: MemberDataVO
 * @PackageName: com.hzs.member.base.vo
 */
@Data
public class MemberDataVO {

    /**
     * 昵称
     */
    private String nickName;
    /**
     * 真实姓名
     */
    private String memberName;
    /**
     * 用户编号
     */
    private String memberCode;
    /**
     * 电话号码（混淆）
     */
    private String phone;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 证件号码
     */
    private String idCard;

    /**
     * 自然国家
     */
    private Integer pkCountry;
    /**
     * 自然国家翻译
     */
    private Integer pkCountryTransaction;
    /**
     * 自然国家名称
     */
    private String countryName;

    /**
     * 结算国家
     */
    private Integer pkSettleCountry;
    /**
     * 结算国家翻译
     */
    private Integer pkSettleCountryTransaction;
    /**
     * 结算国家名称
     */
    private String settleCountryName;

    /**
     * 注册等级
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
    private Integer registerGrade;
    /**
     * 注册等级显示
     */
    private String registerGradeVal;

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

    /**
     * 代理等级
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
    private Integer agentGrade;
    /**
     * 代理等级显示
     */
    private String agentGradeVal;

    /**
     * 真实奖衔
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD)
    private Integer awards;
    /**
     * 真实奖衔显示
     */
    private String awardsVal;

    /**
     * 创建日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /**
     * 会员头像
     */
    private String headPath;

    /**
     * 注册业绩
     */
    private BigDecimal consumeAchieve;

    /**
     * 证件号码
     */
    private String idCardAuth;

    /**
     * 注册权限
     */
    @Transaction(transactionKey = EnumsPrefixConstants.REGISTRATION_AUTHORITY)
    private Integer registerAuthority;
    /**
     * 注册权限显示
     */
    private String registerAuthorityVal;

    /**
     * 是否创客空间
     */
    private Integer isMakerSpace;

}
