超时订单按打手统计,抢单大厅标注限时任务

This commit is contained in:
yml2213
2026-08-01 19:18:20 +08:00
parent 23ad60a1ef
commit 3650526863
7 changed files with 87 additions and 3 deletions
@@ -12,6 +12,7 @@ import {
countWorkCategoryUsages,
countWorkerLevelUsages,
countWorkOrderPendingSharingSubmissions,
countTimeoutEventsByWorkerIds,
cancelWorkerWorkOrder,
countWorkerCancellationsSince,
createWorkOrder,
@@ -299,8 +300,17 @@ export async function listAdminWorkerUsers(query: JsonObject = {}) {
status: String(query.status || '').trim(),
keyword: String(query.keyword || '').trim(),
})
const timeoutCounts = await countTimeoutEventsByWorkerIds(
items.map((item) => Number(item.id)),
)
return {
items: items.map(mapWorkerUser),
items: items.map((item) => {
const worker = mapWorkerUser(item)
return {
...worker,
timeoutOrderCount: timeoutCounts.get(Number(item.id)) || 0,
}
}),
pagination: { page, pageSize, total },
}
}
@@ -9,6 +9,7 @@ import {
addWorkerWalletCredit,
countWorkerAcceptedOrders,
countWorkerActiveOrders,
countWorkerTimeoutEvents,
countWorkCategoryUsages,
countWorkerLevelUsages,
countWorkOrderPendingSharingSubmissions,
@@ -347,9 +348,10 @@ export function requireActiveWorkerSession(session: WorkerSession | null | undef
export async function getWorkerProfile(session: WorkerSession) {
const worker = await getRequiredWorker(session.workerId)
const [financeSummary, acceptedOrderCount, financeConfig] = await Promise.all([
const [financeSummary, acceptedOrderCount, timeoutOrderCount, financeConfig] = await Promise.all([
getWorkerFinanceRequestSummary(session.workerId),
countWorkerAcceptedOrders(session.workerId),
countWorkerTimeoutEvents(session.workerId),
Promise.resolve(getWorkerFinanceConfig()),
])
const permissions = resolveWorkerPermissions(worker)
@@ -359,6 +361,7 @@ export async function getWorkerProfile(session: WorkerSession) {
permissions,
summary: {
acceptedOrderCount,
timeoutOrderCount,
pendingWithdrawAmount: financeSummary.pendingWithdrawAmount,
approvedWithdrawAmount: financeSummary.approvedWithdrawAmount,
pendingRechargeAmount: financeSummary.pendingRechargeAmount,