feat(platform): 线索可查看关联订单(platform_orders 按 lead_id 筛选)
This commit is contained in:
@@ -205,6 +205,8 @@ class PlatformOrderController extends Controller
|
||||
'refund_status' => trim((string) $request->query('refund_status', '')),
|
||||
// 退款数据不一致(可治理):基于 refund_summary.total_amount 与 paid_amount 对比
|
||||
'refund_inconsistent' => (string) $request->query('refund_inconsistent', ''),
|
||||
// 线索联动:用于从开通线索跳转查看关联订单
|
||||
'lead_id' => trim((string) $request->query('lead_id', '')),
|
||||
];
|
||||
|
||||
|
||||
@@ -1054,6 +1056,8 @@ class PlatformOrderController extends Controller
|
||||
'refund_status' => trim((string) $request->query('refund_status', '')),
|
||||
// 退款数据不一致(可治理):基于 refund_summary.total_amount 与 paid_amount 对比
|
||||
'refund_inconsistent' => (string) $request->query('refund_inconsistent', ''),
|
||||
// 线索联动:用于从开通线索跳转查看关联订单
|
||||
'lead_id' => trim((string) $request->query('lead_id', '')),
|
||||
];
|
||||
|
||||
|
||||
@@ -2067,6 +2071,20 @@ class PlatformOrderController extends Controller
|
||||
});
|
||||
});
|
||||
}
|
||||
})
|
||||
->when(($filters['lead_id'] ?? '') !== '', function (Builder $builder) use ($filters) {
|
||||
// 线索联动:仅看指定线索关联的订单(meta.platform_lead_id = lead_id)
|
||||
$leadId = (int) ($filters['lead_id'] ?? 0);
|
||||
if ($leadId <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
$driver = $builder->getQuery()->getConnection()->getDriverName();
|
||||
if ($driver === 'sqlite') {
|
||||
$builder->whereRaw("JSON_EXTRACT(meta, '$.platform_lead_id') = ?", [$leadId]);
|
||||
} else {
|
||||
$builder->whereRaw("CAST(JSON_UNQUOTE(JSON_EXTRACT(meta, '$.platform_lead_id')) AS UNSIGNED) = ?", [$leadId]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user