package com.ema.admin.modules.system.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 系统用户信息表查询条件 VO。
 *
 * @author LIJIAN
 * @since 2026-03-24
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("系统用户信息表查询条件")
public class SysUserQueryVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 当前页。
     */
    @ApiModelProperty("当前页")
    private long pageNumber = 1;

    /**
     * 每页数据数量。
     */
    @ApiModelProperty("每页数据数量")
    private long pageSize = 10;

    /**
     * 用户账号（支持模糊查询）
     */
    @ApiModelProperty("用户账号")
    private String account;

    /**
     * 姓名（支持模糊查询）
     */
    @ApiModelProperty("姓名")
    private String name;

    /**
     * 手机号码（支持模糊查询）
     */
    @ApiModelProperty("手机号码")
    private String phone;

    /**
     * 用户邮箱（支持模糊查询）
     */
    @ApiModelProperty("用户邮箱")
    private String email;

    /**
     * 账号状态 (0停用 1正常)
     */
    @ApiModelProperty("账号状态 (0停用 1正常)")
    private String status;

    /**
     * 账户类型 (0系统用户 1SAAS用户 2渠道用户)
     */
    @ApiModelProperty("账户类型 (0系统用户 1SAAS用户 2渠道用户)")
    private String type;

    /**
     * 我的邀请码
     */
    @ApiModelProperty("我的邀请码")
    private String myCode;

    /**
     * 邀请人邀请码
     */
    @ApiModelProperty("邀请人邀请码")
    private String inviterCode;
}
