export interface CabinetDetailDTO {
  cabinetId: number
  cabinetName: string
  lockControlNo: number
  cells: CellInfoDTO[]
}

/** 租用中的智能柜详情DTO */
export interface RentingCabinetDetailDTO {
  /** 柜机ID */
  cabinetId: number
  /** 柜机名称 */
  cabinetName: string
  /** 锁控编号 */
  lockControlNo: number
  /** 柜格列表 */
  cells: RetingCellEntity[]
}

export interface RetingCellEntity extends CabinetCellEntity {
  orderId: number;
  orderGoodsId: number;
}

/** 智能柜格口实体类 */
export interface CabinetCellEntity {
  /** 格口唯一ID */
  cellId: number
  /** 关联柜机ID */
  cabinetId: number
  /** 主板ID */
  mainboardId?: number
  /** 格口号 */
  cellNo: number
  /** 针脚序号 */
  pinNo: number
  /** 库存数量 */
  stock: number
  /** 格口价格 */
  cellPrice?: number
  /** 是否已租用：0-未租用，1-已租用 */
  isRented: number
  /** 格口类型（1小格 2中格 3大格 4超大格） */
  cellType: number
  /** 使用状态：1空闲 2已占用 */
  usageStatus: number
  /** 可用状态：1正常 2故障 */
  availableStatus: number
  /** 商品ID */
  goodsId?: number
}

export interface CellInfoDTO {
  cellId: number
  cellNo: number
  pinNo: number
  stock: number
  product?: ProductInfoDTO
}

export interface ProductInfoDTO {
  goodsId: number
  goodsName: string
  price: number
  coverImg: string
}

export type CabinetDetailResponse = ApiResponseData<CabinetDetailDTO[]>