From 3c651ada9c618ca561e689c298fb23350e277f7b Mon Sep 17 00:00:00 2001 From: yml2213 Date: Fri, 21 Aug 2026 18:28:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E6=95=9B=E6=8A=BC=E9=87=91=E5=88=B0?= =?UTF-8?q?=E6=9C=9F=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../work-order-deposit-query-repo.ts | 24 +++++++++++++++++ .../worker-platform/work-order-repo.ts | 27 +------------------ 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/apps/backend/src/repositories/worker-platform/work-order-deposit-query-repo.ts b/apps/backend/src/repositories/worker-platform/work-order-deposit-query-repo.ts index db3667eb..e467f496 100644 --- a/apps/backend/src/repositories/worker-platform/work-order-deposit-query-repo.ts +++ b/apps/backend/src/repositories/worker-platform/work-order-deposit-query-repo.ts @@ -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 { + const params: unknown[] = [] + let workerClause = '' + if (workerId > 0) { + params.push(workerId) + workerClause = `AND worker_id = $${params.length}` + } + params.push(limit) + const result = await query( + ` + 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 +} diff --git a/apps/backend/src/repositories/worker-platform/work-order-repo.ts b/apps/backend/src/repositories/worker-platform/work-order-repo.ts index 2ffca9a6..d510a69e 100644 --- a/apps/backend/src/repositories/worker-platform/work-order-repo.ts +++ b/apps/backend/src/repositories/worker-platform/work-order-repo.ts @@ -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 { - const params: unknown[] = [] - let workerClause = '' - if (workerId > 0) { - params.push(workerId) - workerClause = `AND worker_id = $${params.length}` - } - params.push(limit) - const result = await query( - ` - 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,