package com.starry.admin.modules.clerk.module.entity;

import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 店员对象 play_clerk_user_info
 *
 * @author admin
 * @since 2024-03-30
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "店员分页查询参数", description = "分页查询店员列表的条件参数")
public class PlayClerkUserQueryVo extends BasePageEntity {

    /**
     * UUID
     */
    @ApiModelProperty(value = "店员ID", notes = "唯一标识")
    private String id;

    /**
     * 昵称
     */
    @ApiModelProperty(value = "店员昵称", notes = "支持模糊查询")
    private String nickname;

    /**
     * 电话号码
     */
    @ApiModelProperty(value = "电话号码")
    private String phone;

    /**
     * 分组ID
     */
    @ApiModelProperty(value = "分组ID")
    private String groupId;

    /**
     * 性别[0:未知;1:男;2:女]
     */
    @ApiModelProperty(value = "性别", notes = "0:未知;1:男;2:女")
    private String sex;

    /**
     * 是否固定等级(0:固定等级，1:不固定)
     */
    @ApiModelProperty(value = "是否固定等级", notes = "0:固定等级，1:不固定")
    private String fixingLevel;

    /**
     * 店员等级
     */
    @ApiModelProperty(value = "店员等级ID")
    private String levelId;

    /**
     * 年龄
     */
    @ApiModelProperty(value = "年龄范围", notes = "年龄区间查询，如[18, 25]")
    private List<Integer> ages;

    /**
     * 所在国家
     */
    @ApiModelProperty(value = "所在国家", example = "中国")
    private String country;

    /**
     * 所在省份
     */
    @ApiModelProperty(value = "所在省份", example = "广东省")
    private String province;

    /**
     * 所在城市
     */
    @ApiModelProperty(value = "所在城市", example = "深圳市")
    private String city;

    /**
     * 在职状态（1：在职，0：离职）
     */
    @ApiModelProperty(value = "在职状态", notes = "1：在职，0：离职", example = "1")
    private String onboardingState = "1";

    /**
     * 是否推荐状态（1：已推荐，0：未推荐）
     */
    @ApiModelProperty(value = "是否推荐", notes = "1：已推荐，0：未推荐")
    private String recommendationState;

    /**
     * 是否置顶状态（1：已置顶，0：未置顶）
     */
    @ApiModelProperty(value = "是否置顶", notes = "1：已置顶，0：未置顶")
    private String pinToTopState;

    /**
     * 在线状态【1：在线，0：离线】
     */
    @ApiModelProperty(value = "在线状态", notes = "1：在线，0：离线")
    private String onlineState;

    /**
     * 上架状态【1：上架，0：下架】
     */
    @ApiModelProperty(value = "上架状态", notes = "1：上架，0：下架")
    private String listingState;

    /**
     * 显示状态【1：显示，0：隐藏】
     */
    @ApiModelProperty(value = "显示状态", notes = "1：显示，0：隐藏")
    private String displayState;

    /**
     * 实名状态【1：已实名，0：未实名】
     */
    @ApiModelProperty(value = "实名状态", notes = "1：已实名，0：未实名")
    private String realState;

    /**
     * 是否必须实名【0:非必须实名;1:必须实名;2:跟随店铺设置】
     */
    @ApiModelProperty(value = "是否必须实名", notes = "0:非必须实名;1:必须实名;2:跟随店铺设置")
    private String mandatoryRealState;

    /**
     * 随机接单状态【1：允许，0：禁止】
     */
    @ApiModelProperty(value = "随机接单状态", notes = "1：允许，0：禁止")
    private String randomOrderState;

    /**
     * 店员状态（0:不是陪聊，1:陪聊，2:资料审核中）
     */
    @ApiModelProperty(value = "店员状态", notes = "0:不是陪聊，1:陪聊，2:资料审核中", example = "1")
    private String clerkState = "1";

    /**
     * 身份证号
     */
    @ApiModelProperty(value = "身份证号")
    private String code;

}
