Files
LabelChange-server/USPS自动集包需求文档.md
2026-06-01 16:30:29 +08:00

4.3 KiB
Raw Blame History

USPS自动集包需求文档

一、目标

在创建 USPS 袋牌 时,系统自动筛选并关联符合条件的包裹,减少人工逐票集包操作,提高效率,并在系统操作记录上尽量模拟人工关联节奏。


二、适用范围

仅适用于 USPS 尾程包裹 的自动集包。


三、触发时机

当用户在系统中创建 USPS 袋牌后,系统自动触发一次"自动集包"处理。


四、自动集包筛选条件

系统仅自动关联同时满足以下条件的包裹:

  1. 尾程渠道为 USPS
  2. 当前尚未被集包
    • 即尚未关联到任何袋牌
  3. 已完成换单
    • 已生成并确认尾程面单
  4. 换单时间在前 3 天内往前推84小时
    • 以当前创建袋牌时间为基准,筛选近 3 天内完成换单的包裹

五、主流程

Step 1创建 USPS 袋牌

用户在系统中创建一个新的 USPS 袋牌。 系统完成袋牌创建后,进入自动集包流程。


Step 2系统筛选符合条件的包裹

系统从包裹池中查询符合以下条件的记录:

条件项 条件值
尾程渠道 = USPS
集包状态 = 未集包
换单状态 = 已换单
换单时间 >= 当前时间往前 3 天84小时

系统生成本次待自动关联的包裹清单。


Step 3系统按顺序自动关联包裹到袋牌

系统将筛选出的包裹,逐个关联到当前新创建的 USPS 袋牌。

为了模拟人工逐票操作,每次关联之间增加 2 秒到 4 秒的随机间隔

说明:

  • 不是一次性批量瞬间关联
  • 而是按单条记录逐笔处理

Step 4更新状态与记录日志

每成功关联一个包裹,系统更新:

字段 更新值
关联袋牌号 = 当前 USPS 袋牌号
关联时间 = 实际执行关联的时间

Step 5自动集包完成

当本次符合条件的包裹全部处理完成后,系统结束自动集包流程,并返回处理结果,例如:

  • 本次自动关联成功数量
  • 失败数量

六、流程图

┌─────────────────┐
│  创建USPS袋牌    │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 触发自动集包流程 │
└────────┬────────┘
         │
         ▼
┌─────────────────────────────────────────┐
│           筛选符合条件的包裹              │
│  ├─ 尾程渠道 = USPS                     │
│  ├─ 集包状态 = 未集包                   │
│  ├─ 换单状态 = 已换单                   │
│  └─ 换单时间 >= 当前时间-84小时         │
└────────┬────────────────────────────────┘
         │
         ▼
┌─────────────────────────────────────────┐
│         逐个关联包裹到袋牌               │
│  ├─ 逐条处理                            │
│  ├─ 每单间隔 2-4秒随机延迟              │
│  └─ 更新关联袋牌号和关联时间            │
└────────┬────────────────────────────────┘
         │
         ▼
┌─────────────────┐
│ 返回处理结果     │
│ ├─ 成功数量     │
│ └─ 失败数量     │
└─────────────────┘

七、异常处理

异常场景 处理方式
无符合条件的包裹 流程正常结束返回成功数量0
关联过程中某包裹失败 记录失败原因,继续处理下一个包裹
系统异常中断 记录已处理进度,支持人工介入或重新触发

八、备注

  1. 自动集包仅作为辅助功能,不影响人工集包操作
  2. 已自动集包的包裹,人工仍可进行解绑和重新集包操作
  3. 建议增加操作日志,便于后续追溯和审计