Files
2026-06-01 16:30:29 +08:00

49 lines
2.3 KiB
Markdown

# 尊祐客户分拣信息回传 - 实现计划
## [ ] 任务 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 作为参考,创建类似的测试方法