feat(finance): P2 手动退款登记与成本异常闭环
- 迁移 112:order_refunds(订单项级退款,整单拆多条共享 batch_no,source/external_ref 预留平台 API)+ cost_exceptions.resolution_note - 新服务 order-refund-service:整单/指定商品退款、可退金额校验、撤销、全额退完同步 pay_status - 销售事实改为按有效退款记录冲减;无记录时仍兼容 pay_status=refunded 的历史全额退款 - 订单详情新增退款登记与退款记录表,商品明细显示收入/已退/可退 - 全额退款自动关闭该订单项成本异常并写处理备注;成本异常处理改为带备注弹窗 - 财务事件 UNION 接入退款记录,文档同步 P2 状态与 API
This commit is contained in:
@@ -1,5 +1,10 @@
|
||||
import { apiGet, apiPost } from '@/lib/http'
|
||||
import type { AdminOrderDetail, AdminOrderListItem, AdminPagination } from '@/types/admin'
|
||||
import type {
|
||||
AdminOrderDetail,
|
||||
AdminOrderListItem,
|
||||
AdminOrderRefund,
|
||||
AdminPagination,
|
||||
} from '@/types/admin'
|
||||
|
||||
export function fetchAdminOrders(params?: Record<string, unknown>) {
|
||||
return apiGet<{ items: AdminOrderListItem[]; pagination: AdminPagination }>(
|
||||
@@ -24,3 +29,32 @@ export function updateAdminOrderClaimStatus(
|
||||
claimStatusUpdatedAt: string
|
||||
}>(`/api/v1/admin/orders/${orderId}/claim-status`, payload)
|
||||
}
|
||||
|
||||
export function createAdminOrderRefund(
|
||||
orderId: number | string,
|
||||
payload: {
|
||||
orderItemId?: number
|
||||
amountFen?: number
|
||||
reason?: string
|
||||
note?: string
|
||||
refundedAt?: string
|
||||
},
|
||||
) {
|
||||
return apiPost<{
|
||||
batchNo: string
|
||||
refunds: AdminOrderRefund[]
|
||||
fullRefunded: boolean
|
||||
closedExceptionCount: number
|
||||
}>(`/api/v1/admin/orders/${orderId}/refunds`, payload)
|
||||
}
|
||||
|
||||
export function voidAdminOrderRefund(
|
||||
orderId: number | string,
|
||||
refundId: number,
|
||||
payload: { reason?: string },
|
||||
) {
|
||||
return apiPost<{ refund: AdminOrderRefund; rebuiltDate: string }>(
|
||||
`/api/v1/admin/orders/${orderId}/refunds/${refundId}/void`,
|
||||
payload,
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user