package com.cyl.manager.ums.pojo.vo;

import com.cyl.h5.pojo.vo.H5OrderVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseAudit;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 会员信息 数据视图对象
 * 
 * @author zcc
 */
@Data
public class MemberV2VO extends BaseAudit {
   /** ID */
    private Long id;
   /** 昵称 */
    @Excel(name = "昵称")
    private String nickname;
    /** 手机号 */
    private String phone;
    /** 隐藏前三位后四位的手机号 */
    private String phoneHidden;
   /** 用户备注 */
    @Excel(name = "用户备注")
    private String mark;
   /** 帐号启用状态:0->禁用；1->启用 */
    @Excel(name = "帐号启用状态:0->禁用；1->启用")
    private Integer status;
   /** 头像 */
    @Excel(name = "头像")
    private String avatar;
   /** 性别：0->未知；1->男；2->女 */
    @Excel(name = "性别：0->未知；1->男；2->女")
    private Integer gender;
   /** 用户所在城市 */
    @Excel(name = "用户所在城市")
    private String city;
   /** 用户所在省份 */
    @Excel(name = "用户所在省份")
    private String province;
   /** 用户所在国家 */
    @Excel(name = "用户所在国家")
    private String country;
   /** 公众号运营者对粉丝的备注，公众号运营者可在微信公众平台用户管理界面对粉丝添加备注 */
    @Excel(name = "公众号运营者对粉丝的备注，公众号运营者可在微信公众平台用户管理界面对粉丝添加备注")
    private String remark;
   /** 生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDate birthday;
   /** 推广员id */
    @Excel(name = "推广员id")
    private Long spreadUid;
   /** 推广员关联时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "推广员关联时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime spreadTime;
   /** 等级 */
    @Excel(name = "等级")
    private String level;
   /** 等级 */
    @Excel(name = "等级Key")
    private Integer levelKey;
   /** 用户剩余积分 */
    @Excel(name = "用户剩余积分")
    private BigDecimal integral;

    @ApiModelProperty("用户集点")
    private BigDecimal centralPoint;

    @ApiModelProperty("卡券数量")
    private BigDecimal coupon;

    @ApiModelProperty("当年累计消费金额")
    private BigDecimal currentYearOrderAmount;

    @ApiModelProperty("H5OrderVO")
    private H5OrderVO h5OrderVO;

    /** openId */
    @Excel(name = "openId")
    private String openId;

    @Excel(name = "示例：累计消费888元(2024年01月01日起至今)")
    @ApiModelProperty("示例：累计消费888元(2024年01月01日起至今)")
    private String consumption;

    @Excel(name = "示例：到2025年01月01日前再消费1200元即可升级至银卡")
    @ApiModelProperty("示例：到2025年01月01日前再消费1200元即可升级至银卡")
    private String promotion;

    /** process */
    @Excel(name = "process")
    private String process;

    /** promotionDate */
    @Excel(name = "promotionDate")
    private String promotionDate;

    /** nextLevel */
    @Excel(name = "nextLevel")
    private String nextLevel;

    /** amountNeeded */
    @Excel(name = "amountNeeded")
    private String amountNeeded;

    /** 订单数量 */
    private Integer orderNumber;

    @Excel(name = "用户填写的邀请码")
    private String inviteCode;

}
