import request from '@/utils/request'
import type { ApiResult, PageResult } from '@/api'

/**
 * 充值订单类型
 */
export interface RechargeOrder {
  orderId?: number
  orderNo?: string
  userId?: number
  rechargeType?: number  // 充值方式(10自定义金额 20套餐充值)
  payPrice?: string      // 支付金额
  giftMoney?: string     // 赠送金额
  actualMoney?: string   // 实际到账金额
  balance?: string       // 用户可用余额
  payMethod?: string     // 支付方式
  payStatus?: number     // 支付状态(10待支付 20已支付)
  payTime?: number       // 付款时间戳
  platform?: string      // 来源平台
  comments?: string      // 备注
  createTime?: string    // 创建时间
  updateTime?: string    // 更新时间
}

/**
 * 分页查询充值记录
 */
export async function pageUserRechargeOrder(params: {
  page?: number
  limit?: number
}): Promise<PageResult<RechargeOrder>> {
  const res = await request.get<ApiResult<PageResult<RechargeOrder>>>(
    '/shop/shop-recharge-order/page',
    params
  )
  if (res.code === 0 && res.data) {
    return res.data
  }
  return Promise.reject(new Error(res.message || '获取充值记录失败'))
}
