import createAxios from '@/utils/axios'
|
|
// 与其他模块保持一致,经过网关以 /admin/api 为前缀
|
const url = '/admin/api/order'
|
|
const orderApi = {
|
// 获取一次性防重复提交 Token
|
getIdempotencyToken(userId?: number): ApiPromise {
|
return createAxios({
|
url: `${url}/idempotency/token`,
|
method: 'get',
|
params: userId ? { userId } : {}
|
}) as ApiPromise
|
},
|
|
// 创建订单(在 headers 中携带 Idempotency-Token)
|
createOrder(data: any, token: string): ApiPromise {
|
return createAxios({
|
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
|
}
|
}
|
|
export default orderApi
|