售后处置为补救完成或问题不成立时自动退还原追缴金额

This commit is contained in:
yml2213
2026-08-22 13:54:58 +08:00
parent 9beb501fa6
commit 6ac77c0124
12 changed files with 170 additions and 10 deletions
@@ -212,6 +212,8 @@ export async function resolveAdminAfterSalesCase(
action,
recoveryAmount: Number(result.case.recovery_amount || 0),
debtAmount: Number(result.case.debt_amount || 0),
refundedTotalAmount: result.refundedTotalAmount,
refundedRecoveries: result.refundedRecoveries,
}),
now: nowIso(),
})
@@ -221,7 +223,11 @@ export async function resolveAdminAfterSalesCase(
workerIds: workerId > 0 ? [workerId] : [],
})
if (workerId > 0) publishWorkerWalletRealtimeChange(workerId)
return { case: mapWorkerAfterSalesCase(result.case) }
return {
case: mapWorkerAfterSalesCase(result.case),
refundedTotalAmount: result.refundedTotalAmount,
refundedRecoveries: result.refundedRecoveries,
}
}
export async function getWorkerAfterSalesCaseSummary(session: WorkerSession) {
@@ -198,6 +198,9 @@ export function mapWorkerAfterSalesCase(afterSalesCase: {
pending_deposit_deduction_amount: number
available_deduction_amount: number
debt_amount: number
refunded_amount?: number
refunded_at?: string | null
refunded_by?: string
created_by: string
resolved_by: string
resolved_at: string | null
@@ -245,6 +248,9 @@ export function mapWorkerAfterSalesCase(afterSalesCase: {
pendingDepositDeductionAmount: Number(afterSalesCase.pending_deposit_deduction_amount || 0),
availableDeductionAmount: Number(afterSalesCase.available_deduction_amount || 0),
debtAmount: Number(afterSalesCase.debt_amount || 0),
refundedAmount: Number(afterSalesCase.refunded_amount || 0),
refundedAt: afterSalesCase.refunded_at || null,
refundedBy: String(afterSalesCase.refunded_by || ''),
createdBy: String(afterSalesCase.created_by || ''),
resolvedBy: String(afterSalesCase.resolved_by || ''),
resolvedAt: afterSalesCase.resolved_at,
@@ -79,6 +79,7 @@ export function normalizeWalletLedgerType(value: unknown) {
'after_sales_deposit_deduction',
'after_sales_balance_deduction',
'after_sales_debt_offset',
'after_sales_refund',
].includes(ledgerType)
) {
return ledgerType