# 消息推送与物流发货后台 —— 需求与架构文档总览 > **更新日期**:2026年03月16日 > **核心职责**:管理商城发货物流对接、Webhook状态更新接受、基于消息队列模型的异步应用内推送(UniPush 2.0)。 本目录包含了本系统从“接收物流消息”到“完成终端设备 APP 推送”的全核心链路设计与需求规范。我们采用了**免 Redis 的高可靠去中心化架构(基于 PostgreSQL Transactional Outbox 模式)**。 ## 🎯 必读核心文档(从 0 到 1 快速理解本套系统) 1. 📂 **数据库表结构设计(全系统基石)** - [消息推送后台_数据库表结构需求文档.md](./db/消息推送后台_数据库表结构需求文档.md) *(核心!详述了从快递节点到通知排队流转经过的 5 张关键表)* 2. 🔄 **数据流向与演进架构** - 见 `server/消息推送文档/DELIVERY_NOTIFICATION_DATA_FLOW.md` *(全局架构数据泳道流转图与为什么不使用 Redis 的技术选型解说)* 3. 📦 **业务推送机制文档** - [物流消息推送方案_用户端与商家端.md](物流消息推送方案_用户端与商家端.md) *(阐述推送业务交互形态及场景)* - [推送与设备需求文档_含建表附录.md](推送与设备需求文档_含建表附录.md) *(阐述设备绑定及队列下发业务目标)* --- ## 📚 目录体系详解 ### 1. 核心架构与数据库执行脚本 (`db/` 目录) 如果需要在全新环境部署此推送系统,请**按顺序执行**以下表结构 SQL 迁移脚本: - `express_tracking_platform_upgrade.sql`: 运单主表、源事件表(`platform_express_event_raw`/`tracking_events`)的创建。 - `20260224_add_push_devices_and_notifications.sql`: 客户端推送标记路由表(`push_devices`)与最终推送记录大表(`express_notifications`)创建。 - `20260309_add_notify_queue_and_trigger.sql`: **极度重要!**创建异步缓冲外箱表 `notify_queue` 和连接事件与处理器的 PostgreSQL 防丢触发器 `event_to_queue_trigger`。 - `20260309_add_express_notifications_send_status.sql`: 添加投递状态控制。 - `20260310_fix_express_notifications_on_conflict_message_id.sql`: 去重逻辑修复。 ### 2. 前端与联调试配规范文档 本块文档聚焦于多端(客户端 UniApp 与 管理后台端)关于物流模块的展现与对接规范: - **客户端获取 CID 核心技术栈**:[uni-push2_安卓联调与取CID说明.md](uni-push2_安卓联调与取CID说明.md)(指导客户端童鞋如果提取各厂手机独立推送凭证) - **后台页面结构**:[后台页面设计说明.md](后台页面设计说明.md) - **数据流与展示字段**:[前端字段清单.md](前端字段清单.md) - **前后端快递状态映射**:[状态映射表.md](状态映射表.md) (如:快递参数如何转为本系统枚举类型代码) ### 3. 测试与沙盘联调 (Mock 专属) 因接入第三方(如快递100)需签约,本系统也内置了一套模拟联调能力。 - [接口规范.md](接口规范.md) - SQL 数据灌入脚本:`simulate_third_party_to_db.sql` / `seed_platform_express_test_data.sql` / `express_tracking_mock_platform.sql` ### 4. (历史/备份)早期草案与建议档案 以下文档作为架构迭代的历史依据: - `推送与设备需求文档.md`(原始未涵盖表结构的草案) - `配送模块需求文档.md`(旧三通一达体系梳理) - `生产表说明_platform_express.md` / `数据库对比与修改建议.md` / `缺口与待补充清单.md`