收敛押金到期查询

This commit is contained in:
yml2213
2026-08-21 18:28:05 +08:00
parent 20ace8acaa
commit 3c651ada9c
2 changed files with 25 additions and 26 deletions
@@ -1,4 +1,5 @@
import { query } from '../../db/client.js'
import type { WorkerDepositUnfreezeRow } from './types.js'
/** 汇总仍在等待解冻的押金,供订单详情和实时通知展示。 */
export async function sumPendingUnfreezeByOrderIds(
@@ -22,3 +23,26 @@ export async function sumPendingUnfreezeByOrderIds(
}
return totals
}
export async function listDueDepositUnfreezes({
limit = 100,
workerId = 0,
}: { limit?: number; workerId?: number } = {}): Promise<WorkerDepositUnfreezeRow[]> {
const params: unknown[] = []
let workerClause = ''
if (workerId > 0) {
params.push(workerId)
workerClause = `AND worker_id = $${params.length}`
}
params.push(limit)
const result = await query<WorkerDepositUnfreezeRow>(
`
SELECT * FROM worker_deposit_unfreezes
WHERE status = 'pending' AND unfreeze_at <= NOW() ${workerClause}
ORDER BY unfreeze_at ASC
LIMIT $${params.length}
`,
params,
)
return result.rows
}
@@ -38,6 +38,7 @@ import { maybeUpgradeWorkerLevelWithClient } from './worker-ranking-repo.js'
export * from './work-order-query-repo.js'
export { sumPendingUnfreezeByOrderIds } from './work-order-deposit-query-repo.js'
export { listDueDepositUnfreezes } from './work-order-deposit-query-repo.js'
export {
createWorkOrder,
@@ -1770,32 +1771,6 @@ export async function deductPendingDepositUnfreeze(input: {
})
}
export async function listDueDepositUnfreezes({
limit = 100,
workerId = 0,
}: { limit?: number; workerId?: number } = {}): Promise<WorkerDepositUnfreezeRow[]> {
const params: unknown[] = []
let workerClause = ''
if (workerId > 0) {
params.push(workerId)
workerClause = `AND worker_id = $${params.length}`
}
params.push(limit)
const result = await query<WorkerDepositUnfreezeRow>(
`
SELECT *
FROM worker_deposit_unfreezes
WHERE status = 'pending'
AND unfreeze_at <= NOW()
${workerClause}
ORDER BY unfreeze_at ASC
LIMIT $${params.length}
`,
params,
)
return result.rows
}
export async function releaseDepositUnfreeze({
unfreezeId,
now,