# 尊祐客户分拣信息回传 - 实现计划 ## [ ] 任务 1: 实现 SendWebhookToZunYou 方法 - **Priority**: P0 - **Depends On**: None - **Description**: - 在 LabelController.cs 中添加新的私有方法 SendWebhookToZunYou - 方法参数包括 waybillNumber, scanTime, printTime, scanResult, finalMileTrackingNumber - 实现向尊祐系统发送回传通知的逻辑 - 构造符合尊祐系统要求的 JSON 数据 - 设置请求头包含指定的 token - 处理响应和错误情况 - **Acceptance Criteria Addressed**: AC-2, AC-3, AC-4, AC-5 - **Test Requirements**: - `programmatic` TR-1.1: 方法能够正确构造回传数据格式 - `programmatic` TR-1.2: 方法能够正确设置请求头的 token - `programmatic` TR-1.3: 方法能够正确处理网络错误和响应错误 - `human-judgment` TR-1.4: 方法的代码风格与现有回传方法一致 - **Notes**: 参考现有的 SendWebhookToPatuen 和 SendWebhookToXunTong 方法的实现方式 ## [ ] 任务 2: 在回传逻辑中添加尊祐客户判断 - **Priority**: P0 - **Depends On**: 任务 1 - **Description**: - 在 DownloadLabelByWaybillNumber 方法的 finally 块中,添加对尊祐客户(ZY_SH)的判断 - 当客户代码为 ZY_SH 时,调用 SendWebhookToZunYou 方法 - 确保使用异步方式调用,不阻塞主流程 - **Acceptance Criteria Addressed**: AC-1 - **Test Requirements**: - `programmatic` TR-2.1: 当客户代码为 ZY_SH 时,能够触发回传 - `programmatic` TR-2.2: 回传调用不阻塞主流程 - `human-judgment` TR-2.3: 代码逻辑与现有回传判断逻辑一致 - **Notes**: 参考现有的 PT_GZ 和 XT_JX 客户的回传判断逻辑 ## [ ] 任务 3: 测试回传功能 - **Priority**: P1 - **Depends On**: 任务 1, 任务 2 - **Description**: - 模拟尊祐客户的标签下载请求 - 验证回传请求是否正确发送 - 检查日志记录是否完整 - 验证错误处理是否正常 - **Acceptance Criteria Addressed**: AC-1, AC-2, AC-3, AC-4, AC-5 - **Test Requirements**: - `programmatic` TR-3.1: 系统能够正确触发尊祐客户的回传 - `programmatic` TR-3.2: 回传数据格式符合要求 - `human-judgment` TR-3.3: 日志记录完整且清晰 - `human-judgment` TR-3.4: 错误处理机制正常工作 - **Notes**: 可以使用现有的测试方法 TestXunTongWebhook 作为参考,创建类似的测试方法