seatonwan9
2025-08-24 2c55b1a8a0700df79268550335506637b41610ce
src/api/orderApi.ts
@@ -1,12 +1,13 @@
import createAxios from '@/utils/axios'
const baseUrl = '/admin/api/order'
// 与其他模块保持一致,经过网关以 /admin/api 为前缀
const url = '/admin/api/order'
const orderApi = {
  // 获取一次性防重复提交 Token
  getIdempotencyToken(userId?: number): ApiPromise {
    return createAxios({
      url: `${baseUrl}/idempotency/token`,
      url: `${url}/idempotency/token`,
      method: 'get',
      params: userId ? { userId } : {}
    }) as ApiPromise
@@ -15,11 +16,118 @@
  // 创建订单(在 headers 中携带 Idempotency-Token)
  createOrder(data: any, token: string): ApiPromise {
    return createAxios({
      url: `${baseUrl}/create`,
      url: `${url}/create`,
      method: 'post',
      data,
      headers: { 'Idempotency-Token': token }
    }) as ApiPromise
  },
   getBuyerOrderPage(data: any): ApiPromise {
    return createAxios({
      url: `${url}/buyer/page`,
      method: 'post',
      data
    }) as ApiPromise
  },
  getSellerOrderPage(data: any): ApiPromise {
    return createAxios({
      url: `${url}/seller/page`,
      method: 'post',
      data
    }) as ApiPromise
  },
  getOrderDetail(orderId: string): ApiPromise {
    return createAxios({
      url: `${url}/detail/${orderId}`,
      method: 'get'
    }) as ApiPromise
  },
  generateOrderNo(): ApiPromise {
    return createAxios({
      url: `${url}/no/new`,
      method: 'get'
    }) as ApiPromise
  },
  updateOrderDetail(data: any): ApiPromise {
    return createAxios({
      url: `${url}/detail/update`,
      method: 'post',
      data
    }) as ApiPromise
  },
  updateOrderDetailRemarksOnly(data: any): ApiPromise {
    return createAxios({
      url: `${url}/detail/remarks/update`,
      method: 'post',
      data
    }) as ApiPromise
  },
  confirmTransaction(orderId: string, userId: number): ApiPromise {
    return createAxios({
      url: `${url}/transaction/confirm`,
      method: 'post',
      params: {
        orderId,
        userId
      }
    }) as ApiPromise
  },
  submitEvaluation(data: any): ApiPromise {
    return createAxios({
      url: `${url}/evaluation/add`,
      method: 'post',
      params: {
        orderId: data.orderId,
        evaluatorId: data.evaluatorId,
        evaluatorName: data.evaluatorName,
        evaluatorType: '买家', // 默认评价人类型为买家
        content: data.evaluationContent,
        rating: data.overallRating,
        serviceRating: data.serviceRating,
        qualityRating: data.qualityRating,
        deliveryRating: data.speedRating, // 速度评分对应后端的交付评分
        isAnonymous: data.isAnonymous
      }
    }) as ApiPromise
  },
  // 取消订单
  cancelOrder(orderId: string): ApiPromise {
    return createAxios({
      url: `${url}/cancel/${orderId}`,
      method: 'delete'
    }) as ApiPromise
  },
  checkAgreementPriceType(orderId: string): ApiPromise {
    return createAxios({
      url: `${url}/agreement/check/${orderId}`,
      method: 'get'
    }) as ApiPromise
  },
  updateOrderStatusToNext(orderId: string): ApiPromise {
    return createAxios({
      url: `${url}/status/next`,
      method: 'post',
      params: {
        orderId
      }
    }) as ApiPromise
  },
  updateOrderStatusToPrevious(orderId: string): ApiPromise {
    return createAxios({
      url: `${url}/status/previous`,
      method: 'post',
      params: {
        orderId
      }
    }) as ApiPromise
  }
}