/**
 * 项目：-
 * @Author: xiongwei
 * @Date: 2022-06-28 11:50:00
 */

import { BasePageParams, PageResult, ApiResponse } from './baseModel';
import { Distributor } from './distributor';
import { Role } from './role';

export interface UserParams extends BasePageParams {
  /**
   * ID系统自动生成
   */
  id?: number;
  /**
   * ID系统自动生成 IN值List
   */
  idList?: Array<number>;
  /**
   * 经销商id
   */
  distributorId?: number;
  /**
   * 用户名
   */
  username?: string;
  /**
   * 密码
   */
  password?: string;
  /**
   * 姓名
   */
  realName?: string;
  /**
   * 手机号
   */
  mobile?: string;
  /**
   * 状态
   */
  status?: String;
  /**
   * 状态 IN值List
   */
  statusList?: Array<string>;
  /**
   * 业务员id
   */
  salePeopleId?: number;
  /**
   * 删除状态
   */
  deleteStatus?: String;
  /**
   * 删除状态 IN值List
   */
  deleteStatusList?: Array<string>;
  /**
   * 操作人ID
   */
  editorId?: number;
  /**
   * 操作人
   */
  editorName?: string;
  /**
   * create_time
   */
  createTime?: Date;
  /**
   *  下限值(大于等于)
   */
  createTimeFrom?: Date;
  /**
   *  上限值(小于)
   */
  createTimeTo?: Date;
  /**
   * update_time
   */
  updateTime?: Date;
  /**
   *  下限值(大于等于)
   */
  updateTimeFrom?: Date;
  /**
   *  上限值(小于)
   */
  updateTimeTo?: Date;
  /**
   * 角色名
   */
  role?: string;
  /**
   * 其他参数
   */
  [key: string]: any;
}

export interface User {
  /**
   * ID系统自动生成
   */
  id?: number;
  /**
   * ID系统自动生成
   */
  roleList?: Array<Role>;
  /**
   * 经销商id
   */
  distributorId?: number;
  /**
   * 经销商id
   */
  distributor?: Distributor;
  /**
   * 用户名
   */
  username?: string;
  /**
   * 密码
   */
  password?: string;
  /**
   * 姓名
   */
  realName?: string;
  /**
   * 手机号
   */
  mobile?: string;
  /**
   * 状态
   */
  status?: String;
  /**
   * 业务员id
   */
  salePeopleId?: number;
  /**
   * 删除状态
   */
  deleteStatus?: String;
  /**
   * 操作人ID
   */
  editorId?: number;
  /**
   * 操作人
   */
  editorName?: string;
  /**
   * create_time
   */
  createTime?: Date;
  /**
   * update_time
   */
  updateTime?: Date;
}

export type UserPageResult = PageResult<User>;

export type UserPageResponse = ApiResponse<UserPageResult>;

export type UserResponse = ApiResponse<User>;
