export interface DeviceVO {
  /**
   * 
   */
  id: string | number;

  /**
   * 设备编号
   */
  deviceNo: string;

  /**
   * 用户id
   */
  userId: string | number;

  /**
   * 设备名称
   */
  deviceName: string;

  /**
   * 设备图片
   */
  deviceImg: string;

  /**
   * 状态 1-工作中 0-离线 2-待机 3-故障
   */
  status: string;

  /**
   * 工作状态 0-空闲 1-工作中 2-未绑定用户
   */
  workStatus: string;

  /**
   * 电量
   */
  powerLevel: string;

  /**
   * 电量更新时间
   */
  powerLevelUpdatatime: string;

  /**
   * WiFi名称
   */
  wifiName: string;

  /**
   * WiFi密码
   */
  wifiPassword: string;

  /**
   * 设备型号
   */
  deviceEm: string;

  /**
   * 设备序列号
   */
  deviceSn: string;

  /**
   * 固件版本
   */
  fwVer: string;

  /**
   * mac地址
   */
  macAddress: string;

  /**
   * 到期时间
   */
  expirationTime: string;

  /**
   * 用户名称（后端关联查询返回）
   */
  nickName?: string;

  /**
   * 二维码图片地址
   */
  qrcode?: string;

  /**
   * 关联用户信息
   */
  sysUser?: {
    nickName: string;
    [key: string]: any;
  };

}

export interface DeviceForm extends BaseEntity {
  /**
   * 
   */
  id?: string | number;

  /**
   * 设备编号
   */
  deviceNo?: string;

  /**
   * 用户id
   */
  userId?: string | number;

  /**
   * 设备名称
   */
  deviceName?: string;

  /**
   * 设备图片
   */
  deviceImg?: string;

  /**
   * 状态 1-工作中 0-离线 2-待机 3-故障
   */
  status?: string;

  /**
   * 工作状态 0-空闲 1-工作中 2-未绑定用户
   */
  workStatus?: string;

  /**
   * 电量
   */
  powerLevel?: string;

  /**
   * 电量更新时间
   */
  powerLevelUpdatatime?: string;

  /**
   * WiFi名称
   */
  wifiName?: string;

  /**
   * WiFi密码
   */
  wifiPassword?: string;

  /**
   * 设备型号
   */
  deviceEm?: string;

  /**
   * 设备序列号
   */
  deviceSn?: string;

  /**
   * 固件版本
   */
  fwVer?: string;

  /**
   * mac地址
   */
  macAddress?: string;

  /**
   * 到期时间
   */
  expirationTime?: string;

}

/**
 * 仪表盘统计（与 /app/device/dashboard 返回一致）
 */
export interface DashboardVO {
  /** 设备总数 */
  totalDevices: number;
  /** 工作中设备数（status=1） */
  onlineDevices: number;
  /** 待机设备数（status=2） */
  standbyDevices: number;
  /** 离线设备数（status=0） */
  offlineDevices: number;
  /** 故障设备数（status=3） */
  faultDevices: number;
  /** 工作中（workStatus=1） */
  workingDevices: number;
  /** 空闲（workStatus=0） */
  idleDevices: number;
  /** 未绑定用户（workStatus=2） */
  unboundDevices: number;
}

export interface DeviceQuery extends PageQuery {

  /**
   * 设备编号
   */
  deviceNo?: string;

  /**
   * 用户id
   */
  userId?: string | number;

  /**
   * 设备名称
   */
  deviceName?: string;

  /**
   * 设备图片
   */
  deviceImg?: string;

  /**
   * 状态 1-工作中 0-离线 2-待机 3-故障
   */
  status?: string;

  /**
   * 工作状态 0-空闲 1-工作中 2-未绑定用户
   */
  workStatus?: string;

  /**
   * 电量
   */
  powerLevel?: string;

  /**
   * 电量更新时间
   */
  powerLevelUpdatatime?: string;

  /**
   * WiFi名称
   */
  wifiName?: string;

  /**
   * WiFi密码
   */
  wifiPassword?: string;

  /**
   * 设备型号
   */
  deviceEm?: string;

  /**
   * 设备序列号
   */
  deviceSn?: string;

  /**
   * 固件版本
   */
  fwVer?: string;

  /**
   * mac地址
   */
  macAddress?: string;

  /**
   * 到期时间
   */
  expirationTime?: string;

  /**
   * 排序列
   */
  orderByColumn?: string;

  /**
   * 排序方向 asc/desc
   */
  isAsc?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}
