package org.dromara.work.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.work.domain.TzUser;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 用户视图对象 tz_user
 *
 * @author Maosw
 * @date 2024-12-09
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TzUser.class)
public class TzUserVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ExcelProperty(value = "ID")
    private Long userId;

    /**
     * 用户昵称
     */
    @ExcelProperty(value = "用户昵称")
    private String nickName;

    /**
     * 真实姓名
     */
    @ExcelProperty(value = "真实姓名")
    private String realName;

    /**
     * 用户邮箱
     */
    @ExcelProperty(value = "用户邮箱")
    private String userMail;

    /**
     * 登录密码
     */
    @ExcelProperty(value = "登录密码")
    private String loginPassword;

    /**
     * 支付密码
     */
    @ExcelProperty(value = "支付密码")
    private String payPassword;

    /**
     * 手机号码
     */
    @ExcelProperty(value = "手机号码")
    private String userMobile;

    /**
     * 身份证号码
     */
    @ExcelProperty(value = "身份证号码")
    private String idCard;

    /**
     * 身份证正面
     */
    @ExcelProperty(value = "身份证正面")
    private String frontCard;

    /**
     * 身份证反面
     */
    @ExcelProperty(value = "身份证反面")
    private String reverseCard;

    /**
     * 余额
     */
    @ExcelProperty(value = "余额")
    private BigDecimal balance;

    /**
     * 抵扣金
     */
    @ExcelProperty(value = "抵扣金")
    private BigDecimal deductionFee;

    /**
     * 修改时间
     */
    @ExcelProperty(value = "修改时间")
    private Date modifyTime;

    /**
     * 注册时间
     */
    @ExcelProperty(value = "注册时间")
    private Date userRegtime;

    /**
     * 注册IP
     */
    @ExcelProperty(value = "注册IP")
    private String userRegip;

    /**
     * 最后登录时间
     */
    @ExcelProperty(value = "最后登录时间")
    private Date userLasttime;

    /**
     * 最后登录IP
     */
    @ExcelProperty(value = "最后登录IP")
    private String userLastip;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String userMemo;

    /**
     * M(男) or F(女)
     */
    @ExcelProperty(value = "M(男) or F(女)")
    private String sex;

    /**
     * 例如：2009-11-27
     */
    @ExcelProperty(value = "例如：2009-11-27")
    private String birthDate;

    /**
     * 头像图片路径
     */
    @ExcelProperty(value = "头像图片路径")
    private String pic;

    /**
     * 状态 1 正常 0 无效
     */
    @ExcelProperty(value = "状态 1 正常 0 无效")
    private Integer status;

    /**
     * 用户积分
     */
    @ExcelProperty(value = "用户积分")
    private Long score;

    /**
     * 微信openId
     */
    @ExcelProperty(value = "微信openId")
    private String openId;

    /**
     * 是否设计师  1：是   0：否
     */
    @ExcelProperty(value = "是否设计师  1：是   0：否")
    private Integer isDesigner;

    /**
     * 设计师认证信息
     */
    @ExcelProperty(value = "设计师认证信息")
    private String sjsJson;

    /**
     * 设计师审核状态  1：未认证  2：待审核  3：已通过  4：已拒绝
     */
    @ExcelProperty(value = "设计师审核状态  1：未认证  2：待审核  3：已通过  4：已拒绝")
    private Integer sjsFlag;

    /**
     * 实名审核状态  1：未认证  2：待审核  3：已通过  4：已拒绝
     */
    @ExcelProperty(value = "实名审核状态  1：未认证  2：待审核  3：已通过  4：已拒绝")
    private Integer examineFlag;

    /**
     * 价格开关是否打开 1：打开  0：关闭
     */
    @ExcelProperty(value = "价格开关是否打开 1：打开  0：关闭")
    private Integer priceFlag;

    /**
     * 是否是会员 1：是  0：否
     */
    @ExcelProperty(value = "是否是会员 1：是  0：否")
    private Integer isMember;

    /**
     * 会员有效期结束
     */
    @ExcelProperty(value = "会员有效期结束")
    private Date validTo;

    /**
     * 调价比例
     */
    @ExcelProperty(value = "调价比例")
    private String ratio;

    /**
     * 拉卡拉用户ID
     */
    @ExcelProperty(value = "拉卡拉用户ID")
    private String custId;

    /**
     * 证件起止日期
     */
    @ExcelProperty(value = "证件起止日期")
    private String certExpirationDate;

    /**
     * 订单数量
     */
    @ExcelProperty(value = "订单数量")
    private Long orderNum;

    /**
     * 订单总金额
     */
    @ExcelProperty(value = "订单总金额")
    private BigDecimal orderTotal;

}
