feat(worker-platform): 接单平台全面改用内部统一工单号,隐藏第三方平台单号防泄漏

1. 新增业务工单单号生成器 generateWorkOrderNo(),生成 WO+年月日+时分+随机数的统一内部单号(如 WO26091216358821);
2. 接单平台抢单大厅、订单列表、详情抽屉、模态弹窗及售后全面切换为展示 workOrderNo,彻底屏蔽拼多多/快手等第三方平台来源标识;
3. 打手资金明细补充关联内部工单号 relatedWorkOrderNo,避免打手在账单中识别原平台;
4. 管理后台工单面板升级为双单号清晰展示(高亮内部工单号 + 辅助可复制平台单号),兼顾打手对单与官方平台售后溯源。
This commit is contained in:
yml2213
2026-09-12 16:44:59 +08:00
parent ede9a87b97
commit 71912ef5d0
15 changed files with 57 additions and 20 deletions
@@ -12,7 +12,7 @@ import {
} from '../../repositories/worker-platform/index.js'
import type { JsonObject } from '../../types/json.js'
import { createHttpError } from '../../utils/http.js'
import { randomId } from '../../utils/random.js'
import { generateWorkOrderNo, randomId } from '../../utils/random.js'
import { nowIso } from '../../utils/time.js'
import {
getKuaishouIndustrySourceConfig,
@@ -103,7 +103,7 @@ export async function createAdminMockWorkOrder(payload: JsonObject = {}) {
},
}
const workOrder = await createWorkOrder({
workOrderNo: randomId('WO'),
workOrderNo: generateWorkOrderNo(),
platformOrderId,
productName,
categoryId,
@@ -17,7 +17,7 @@ import {
} from '../../repositories/worker-platform/index.js'
import type { JsonObject } from '../../types/json.js'
import type { OrderItemRow, OrderRow } from '../../types/repository/rows.js'
import { randomId } from '../../utils/random.js'
import { generateWorkOrderNo, randomId } from '../../utils/random.js'
import { nowIso } from '../../utils/time.js'
import { logInfo, logWarn } from '../../utils/logger.js'
import { safeParseJson } from '../admin/admin-query-utils.js'
@@ -173,7 +173,7 @@ export async function syncWorkerOrdersForSourceOrder(
const now = nowIso()
const materialComplete = fields.every((field) => !field.required)
const workOrder = await createWorkOrder({
workOrderNo: randomId('WO'),
workOrderNo: generateWorkOrderNo(),
productRuleId: Number(rule.id),
orderId: Number(order.id),
orderItemId: Number(item.id),
@@ -272,6 +272,7 @@ export function mapWalletLedger(ledger: WorkerWalletLedgerRow | null | undefined
balanceAfter: Number(ledger.balance_after || 0),
frozenAfter: Number(ledger.frozen_after || 0),
relatedWorkOrderId: ledger.related_work_order_id ? Number(ledger.related_work_order_id) : null,
relatedWorkOrderNo: String(ledger.related_work_order_no || '').trim() || null,
relatedPlatformOrderId: String(ledger.related_platform_order_id || '').trim() || null,
auditStatus: ledger.audit_status || '',
note: ledger.note || '',