# 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. 建议增加操作日志,便于后续追溯和审计