import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel';
/**
 * @description: Request list interface parameters
 */
export type PageParams = BasicPageParams;
export interface UpdateCompanyParam {
  id: number;
  sceneLogo?: string;
  floorLogo?: string;
  bgMusic?: string;
}
export interface addDeiceParam {
  childNames?: string[];
  id?: number;
  companyId: string;
  subNum?: string;
  userName?: string;
}
export interface checkDeiceParam {
  childName: string | null;
}
export interface auditParam {
  state: number | null;
  id: number | string;
}

export interface addPointParam {
  id: number;
  point: number;
}
export interface selectUserListParam {
  id: number;
  page: number;
  limit: number;
}
export interface checkUserParam {
  phone?: string;
  phoneNum?: string;
}

export interface SubAccountUsers {
  id: number | null;
  subNum: string | null;
  subUsers: Recordable<any>[]; //SubAccountUser[];
}

export interface selectCompanyParam {
  id: number;
}
export interface SubAccountUser {
  appid: string | number;
  companyId: string | number;
  createTime: string | number;
  createUser: string | number;
  fdkkPassword: string | number;
  fdkkUser: string | number;
  head: string | number;
  id: number;
  memoName: string;
  message: string;
  nickName: string;
  phone: string;
  state: number;
  token: string;
  type: string;
  updateTime: string;
  updateUser: string;
  userName: string;
  userPassword: string;
}

export interface ListItem {
  id: number;
  bgMusic: string;
  cameraNum: string;
  childName: string;
  expirationDate: string;
  expirationTime: string;
  floorLogo: string;
  name: string;
  num: string;
  point: string;
  sceneLogo: string;
  sceneNum: string;
  subNum: string;
  userName: string;
}
export interface ListItem {
  id: number;
  bgMusic: string;
  cameraNum: string;
  childName: string;
  expirationDate: string;
  expirationTime: string;
  floorLogo: string;
  name: string;
  num: string;
  point: string;
  sceneLogo: string;
  sceneNum: string;
  subNum: string;
  userName: string;
}

export interface DeviceListItem {
  activeTime?: number;
  childName?: string;
  id?: number;
}

export interface contractorItem {
  contractorAccount: string;
  contractorName: string;
  contractorUserId: number;
  createTime: string;
  id: number;
  mainContractorAccount: string;
  mainContractorName: string;
  mainContractorUserId: number;
  recStatus: string;
  sceneCount: number;
  updateTime: string;
}
/**
 * @description: Request list return value
 */
export type CorporationListGetResultModel = BasicFetchResult<ListItem>;
export type DeviceGetResultModel = BasicFetchResult<DeviceListItem>;
//2.2.0
export type ContractorModel = BasicFetchResult<contractorItem>;
