优化
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { apiRequest } from '@/api/http'
|
||||
import type { FinanceBillDetail, FinanceBillPage, FinanceBillQuery, FinanceReceiptRecord } from '../contracts'
|
||||
import type { FinanceBillDetail, FinanceBillPage, FinanceBillQuery, FinanceCustomerConfirmationResult, FinanceReceiptRecord } from '../contracts'
|
||||
import {
|
||||
mapFinanceBillDetail,
|
||||
mapFinanceBills,
|
||||
@@ -54,3 +54,18 @@ export async function getMerchantFinanceReceipts(billId: string): Promise<Financ
|
||||
})
|
||||
return mapFinanceReceipts(response, billId)
|
||||
}
|
||||
|
||||
function confirmationIdempotencyKey(statementId: string) {
|
||||
const randomPart = globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`
|
||||
return `statement-confirm-${statementId}-${randomPart}`
|
||||
}
|
||||
|
||||
export async function confirmMerchantFinanceStatement(statementId: string, expectedVersion: number,
|
||||
idempotencyKey = confirmationIdempotencyKey(statementId)) {
|
||||
return apiRequest<FinanceCustomerConfirmationResult>({
|
||||
method: 'POST',
|
||||
url: `/client/finance/v1/statements/${encodeURIComponent(statementId)}/confirm`,
|
||||
headers: { 'Idempotency-Key': idempotencyKey },
|
||||
data: { expectedVersion },
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user