本周学习目标
- 说明回单导入时用哪些关联键匹配配送单。
- 对四类异常行分别给出处理方式。
- 设计重复导入和回传失败的测试,并说明恢复方法。
一、先预览,再写入
承运商返回的文件包含物流单号和实际发货日期。木耳云导入时先生成预览:每一行匹配到哪张配送单、是否有效、有什么问题。只有确认有效的行才写入系统并完成配送。未匹配的数据不可盲目写入。
二、匹配规则
可靠匹配需要组合键:店铺 + 订单号 + basket + 配送ID。只用订单号可能把同一订单的两票包裹混淆;用客户姓名或电话匹配既不可靠,也不必要地使用了个人信息。
三、四类异常行
| 异常 | 风险 | 处理 |
|---|---|---|
| 未知订单 | 文件里有,系统里没有对应订单 | 拒绝写入,记录并与承运商核对 |
| 错误basket | 单号可能写到同一订单的另一票包裹上 | 拒绝或转人工,核对批次清单 |
| 重复物流号 | 同一单号出现在两行或已被其他配送使用 | 拒绝写入,调查是否重复打单 |
| 发货日期缺失 | 无法判断发货期间和截止 | 拒绝写入或转人工补充证据 |
四、重复导入
同一个返回文件可能被不同的人导入两次。正确的系统应当识别已处理的行:不重复出库、不重复开票、不重复通知客户。测试方法与第6周相同:导入前后比较记录数和金额。
五、回传乐天
配送完成后,木耳云把物流单号和发货信息放入回传队列,发送给乐天。回传可能成功、字段错误、超时或被判定为重复。失败时系统应保留错误信息并允许重试,而不是静默丢弃。
| 证据 | 能证明 | 不能证明 |
|---|---|---|
| 回传成功回执 | 乐天已接收发货信息 | 客户已签收 |
| 邮件提交成功 | 通知已交给邮件系统 | 邮件已送达或已阅读 |
| 承运商投递记录 | 包裹已投递 | — |
扩展问题
如果订单号被截短后放进承运商文件,两个不同订单截短后相同(碰撞),会发生什么?请提出一种保持唯一性的短码方案,并证明它不依赖客户姓名或真实电话来匹配。
第8周流程验收
每组需在本周展示三项结果:缺物流单号、重复文件、错误basket匹配。