package com.kxs.user.api.model;

import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 用户表(KxsUser)表实体类
 *
 * @author 快秃顶的码农
 * @since 2023-12-05 13:50:14
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class KxsUser extends Model<KxsUser> {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */     
    @Schema(description = "主键ID")
    @TableId(type = IdType.AUTO)
    private Integer id;
    
    
    /**
     * 是否小分仓 0否 1是
     */     
    @Schema(description = "是否小分仓 0否 1是")
    private Integer isMinWarehouse;
    
    
    /**
     * 是否商户型创客 0否 1是
     */     
    @Schema(description = "是否商户型创客 0否 1是")
    private Integer isMerchantMaker;

    /**
     * 成为商户型创客时间
     */
    @Schema(description = "成为商户型创客时间")
    private LocalDateTime toMerchantMakerTime;
    
    
    /**
     * 状态 0注销 1正常 2锁定不可登陆和提现
     */     
    @Schema(description = "状态 0注销 1正常 2锁定不可登陆和提现")
    private Integer status;
    
    
    /**
     * 版本
     */     
    @Schema(description = "版本")
    private Integer version;
    
    
    /**
     * 实名状态 0未实名 1已实名
     */     
    @Schema(description = "实名状态 0未实名 1已实名")
    private Integer realStatus;

    
    /**
     * 手势密码
     */     
    @Schema(description = "手势密码")
    private String handPwd;
    
    
    /**
     * 支付密码
     */     
    @Schema(description = "支付密码")
    private String payPwd;
    
    
    /**
     * 用户等级
     */     
    @Schema(description = "用户等级")
    private Integer userLevel;
    
    
    /**
     * 盐值
     */     
    @Schema(description = "盐值")
    private String salt;
    
    
    /**
     * 头像
     */     
    @Schema(description = "头像")
    private String avatar;
    
    
    /**
     * 邀请码
     */     
    @Schema(description = "邀请码")
    private String userCode;
    
    
    /**
     * 推荐人路径
     */     
    @Schema(description = "推荐人路径")
    private String pidPath;
    
    
    /**
     * 上级ID
     */     
    @Schema(description = "上级ID")
    private Integer pid;
    
    
    /**
     * 地址
     */     
    @Schema(description = "地址")
    private String address;
    
    
    /**
     * 手机号
     */     
    @Schema(description = "手机号")
    private String phone;
    
    
    /**
     * 密码
     */     
    @Schema(description = "密码")
    private String password;
    
    
    /**
     * 用户名
     */     
    @Schema(description = "用户名")
    private String username;

    /**
     * 本月交易额统计
     */
    private BigDecimal thisMonthTrade;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;
    
    
    /**
     * 隐藏推荐关系0默认 1隐藏
     */     
    @Schema(description = "隐藏推荐关系0默认 1隐藏")
    private Integer hiddenLevel;
    
    
    /**
     * 删除标记，0未删除，1已删除
     */
    @Schema(description = "删除标记，0未删除，1已删除")
    private String delFlag;
    
    
    /**
     * 更新时间
     */     
    @Schema(description = "更新时间")
    @TableField(fill = FieldFill.UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    
    
    /**
     * 新增时间
     */     
    @Schema(description = "新增时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

}

