import type { PageDTO, ResponseData } from "../type"
import { request } from "@/http/axios"

/** 借还动态查询参数 */
export interface SearchBorrowReturnDynamicQuery {
  /** 商品ID，精确筛选 */
  goodsId?: number
  /** 格口ID，精确筛选 */
  cellId?: number
  /** 状态筛选（仅对归还记录有效） */
  status?: number
  /** 动态类型筛选 */
  dynamicType?: number
  /** 页码（默认1） */
  pageNum?: number
  /** 每页大小（默认10） */
  pageSize?: number
}

/** 借还动态响应数据 */
export interface BorrowReturnDynamicDTO {
  /** 订单商品ID */
  orderGoodsId: number
  /** 动态类型（0-借出 1-归还） */
  dynamicType: number
  /** 动态类型描述 */
  dynamicTypeStr: string
  /** 订单ID */
  orderId: number
  /** 订单创建时间/借出时间 */
  orderTime: string
  /** 商品ID */
  goodsId: number
  /** 商品名称 */
  goodsName: string
  /** 商品封面图片 */
  coverImg: string
  /** 商品单价 */
  goodsPrice: number
  /** 数量 */
  quantity: number
  /** 支付方式 */
  paymentMethod: string
  /** 订单姓名 */
  orderName: string
  /** 订单手机号 */
  orderMobile: string
  /** 格口ID */
  cellId: number
  /** 格口号 */
  cellNo: number
  /** 柜机ID */
  cabinetId: number
  /** 柜机名称 */
  cabinetName: string
  /** 归还/审批时间（归还记录时有效） */
  operateTime?: string
  /** 审批ID（归还记录时有效） */
  approvalId?: number
  /** 审批状态（归还记录时有效） */
  status: number
  /** 状态描述 */
  statusStr: string
  /** 审批人（归还记录时有效） */
  auditName?: string
  /** 审核说明（归还记录时有效） */
  auditRemark?: string
  /** 归还图片（归还记录时有效） */
  images?: string
  /** 审核图片（归还记录时有效） */
  auditImages?: string
}

export function getBorrowReturnDynamicApi(query: SearchBorrowReturnDynamicQuery) {
  return request<ResponseData<PageDTO<BorrowReturnDynamicDTO>>>({
    url: "order/borrow-return-dynamic",
    method: "get",
    params: query
  })
}
