package com.hzs.bonus.base.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * @Description: 会员登录信息
 * @Author: jiang chao
 * @Time: 2023/1/10 15:23
 * @Classname: MemberInfo
 * @PackageName: com.hzs.member.base.vo
 */
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class MemberInfoVO {

    /**
     * 会员编号
     */
    private String memberCode;
    /**
     * 会员名称
     */
    private String memberName;

    /**
     * 注册时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date registerTime;

    /**
     * 自然国ID
     */
    private Integer pkCountry;
    /**
     * 自然国
     */
    private String pkCountryVal;
    /**
     * 自然国家圆形国旗
     */
    private String countryCircularIcon;
    /**
     * 自然国家方形图旗
     */
    private String countrySquareIcon;

    /**
     * 结算国ID
     */
    private Integer pkSettleCountry;
    /**
     * 结算国
     */
    private String pkSettleCountryVal;
    /**
     * 结算国家圆形国旗
     */
    private String settleCountryCircularIcon;
    /**
     * 结算国家方形国旗
     */
    private String settleCountrySquareIcon;
    /**
     * 结算国家点亮名称
     */
    private String settleCountryLightName;
    /*
     * 结算国家地图
     */
    private String settleCountryImg;

    /**
     * 等级ID
     */
    private Integer pkGradeId;
    /**
     * 等级翻译ID
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
    private Integer pkGrade;
    /**
     * 等级名称
     */
    private String pkGradeVal;
    /**
     * 等级图标
     */
    private String gradeIcon;

    /**
     * 奖衔ID
     */
    private Integer pkAwardsId;
    /**
     * 奖衔翻译ID
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD)
    private Integer pkAwards;
    /**
     * 奖衔名称
     */
    private String pkAwardsVal;
    /**
     * 奖衔图标
     */
    private String awardsIcon;

    /**
     * 币种图标
     */
    private String currencyIcon;

    /**
     * 注册权限（0=无）
     */
    private Integer registerAuthority;

    /**
     * 跳转海粉注册（0=跳转，1=不跳转）
     */
    private Integer registerFans;

    /**
     * 跳转免费注册（0=跳转，1=不跳转）
     */
    private Integer registerShare;

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

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

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

    /**
     * 全球编号
     */
    private String globalCode;

    /**
     * 国家编号
     */
    private String countryCode;

}
