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