接单平台:新增店铺筛选条件

This commit is contained in:
2026-10-22 14:45:40 +08:00
parent 33b220ae10
commit 067d54fdd8
9 changed files with 186 additions and 17 deletions
@@ -23,6 +23,8 @@ import dayjs from 'dayjs'
export type AdminWorkOrderListFilters = {
statuses: string[]
keyword: string
/** 店铺筛选(订单归属店铺,可多选精确匹配)。 */
shopNames: string[]
workerId: number
categoryId: number
workerLevelIds: number[]
@@ -69,6 +71,10 @@ export function parseAdminWorkOrderListFilters(
.map((value) => value.trim())
.filter(Boolean),
keyword: String(raw.keyword || '').trim(),
shopNames: String(raw.shopNames || '')
.split(',')
.map((value) => value.trim())
.filter(Boolean),
workerId: toNumber(raw.workerId),
categoryId: toNumber(raw.categoryId),
workerLevelIds: String(raw.workerLevelIds || '')
@@ -211,10 +217,13 @@ export function evaluateAdminWorkOrderRealtimeMatch(
// 还有平台单号、工单号的特殊匹配分支;
// - 赠送阶段:gift_ready 是"冷却到点"的实时阶段,含 NOW() 判定;
// - 打手等级:只在服务端按接单人与拼单参与者计算;
// - 店铺:口径是订单归属店铺(orders.shop_name),快照里只有工单 material 的货源店铺名,
// 两者不可互换,无法证伪;
// - VIP 待补图:混在状态列表里的虚拟值,判定依赖 acceptance_json 多个字段与 NOW()。
// 注:显式单号检索已在函数开头短路,走不到这里。
if (filters.acceptanceMode) return 'unknown'
if (vipEvidencePendingActive) return 'unknown'
if (filters.shopNames.length > 0) return 'unknown'
if (filters.keyword) return 'unknown'
if (filters.giftPhase) return 'unknown'
if (filters.workerLevelIds.length > 0) return 'unknown'