对接数据库,模拟第三方接入信息

This commit is contained in:
not-like-juvenile
2026-02-09 08:54:26 +08:00
parent a5e7afacec
commit 3ea0f008b5
14 changed files with 882 additions and 502 deletions

View File

@@ -68,6 +68,7 @@
测试/预发环境(不使用 mock_* 表也能联调):
- 仍然执行 [express_tracking_platform_upgrade.sql](express_tracking_platform_upgrade.sql) 创建“生产同款”三表。
- 再执行 [seed_platform_express_test_data.sql](seed_platform_express_test_data.sql) 向 `platform_express_*` 写入少量 TEST_ 前缀示例数据,用于页面联调与排障演示(可随时清理)。
- 说明:当前脚本会插入 9 条 `TEST_` 运单(含 1 条 `PENDING/未发货`),并为每条运单插入 13 条不等的轨迹事件(幂等,可重复执行)。
### Ubuntu 上的 Supabase测试/预发)怎么执行
@@ -93,6 +94,73 @@
清理测试数据:
- 种子脚本底部自带清理 SQL`tracking_no LIKE 'TEST_%'` 删除),需要时复制执行即可。
### 执行成功后的校验 SQL建议
在 Supabase SQL Editor 执行以下查询,确认数据是否写入成功、事件是否按时间线可查:
1) 查看全部 TEST_ 运单(应看到 9 条):
```sql
select
carrier,
tracking_no,
current_status_code,
current_status_text,
last_event_time,
last_synced_at,
created_at
from public.platform_express_waybills
where tracking_no like 'TEST_%'
order by created_at desc;
```
2) 按运单统计事件数量(确认每单都有事件):
```sql
select
w.carrier,
w.tracking_no,
count(e.id) as event_count,
min(e.event_time) as first_event_time,
max(e.event_time) as last_event_time
from public.platform_express_waybills w
left join public.platform_express_tracking_events e
on e.waybill_id = w.id
where w.tracking_no like 'TEST_%'
group by w.carrier, w.tracking_no
order by last_event_time desc nulls last;
```
3) 查看单个运单时间线(按 event_time 升序):
```sql
select
event_time,
event_code,
event_text,
status_code,
node_name,
node_location,
source,
dedupe_key
from public.platform_express_tracking_events
where tracking_no = 'TEST_YT_20260206_0002'
order by event_time asc;
```
4) 查看原始接收留痕(可选,用于排障/审计):
```sql
select
received_at,
source,
carrier,
tracking_no,
signature_valid,
request_id,
dedupe_key
from public.platform_express_event_raw
where tracking_no like 'TEST_%'
order by received_at desc
limit 50;
```
### 如何“伪造第三方推送到数据库”(无需后端)
如果你暂时没有 webhook 接收服务,但希望测试环境表现得像“第三方已经推送了轨迹”,可以直接写数据库: