233 lines
6.3 KiB
Markdown
233 lines
6.3 KiB
Markdown
# 业务流程图
|
|
|
|
## 订单处理流程
|
|
|
|
```mermaid
|
|
graph TD
|
|
A[WooCommerce新订单] --> B[Webhook接收]
|
|
B --> C[订单数据验证]
|
|
C --> D[创建内部订单]
|
|
D --> E[库存检查]
|
|
E --> F{库存充足?}
|
|
F -->|是| G[预留库存]
|
|
F -->|否| H[标记缺货]
|
|
G --> I[订单确认]
|
|
H --> I
|
|
I --> J[等待发货]
|
|
J --> K[生成发货单]
|
|
K --> L[选择物流服务商]
|
|
L --> M[计算运费]
|
|
M --> N[生成运单]
|
|
N --> O[更新库存]
|
|
O --> P[同步到WooCommerce]
|
|
P --> Q[发送跟踪信息]
|
|
Q --> R[订单完成]
|
|
```
|
|
|
|
## 产品同步流程
|
|
|
|
```mermaid
|
|
graph TD
|
|
A[WooCommerce产品更新] --> B[Webhook触发]
|
|
B --> C[获取产品数据]
|
|
C --> D[数据格式转换]
|
|
D --> E{本地产品存在?}
|
|
E -->|是| F[更新本地产品]
|
|
E -->|否| G[创建新产品]
|
|
F --> H[同步变体信息]
|
|
G --> H
|
|
H --> I[更新分类关系]
|
|
I --> J[同步库存信息]
|
|
J --> K[更新产品状态]
|
|
K --> L[触发相关业务]
|
|
L --> M[同步完成]
|
|
```
|
|
|
|
## 库存管理流程
|
|
|
|
```mermaid
|
|
graph TD
|
|
A[库存操作请求] --> B{操作类型}
|
|
B -->|入库| C[采购订单接收]
|
|
B -->|出库| D[订单发货]
|
|
B -->|调拨| E[仓库间转移]
|
|
B -->|盘点| F[库存盘点]
|
|
|
|
C --> G[验证采购单]
|
|
G --> H[更新库存数量]
|
|
H --> I[创建库存记录]
|
|
|
|
D --> J[验证订单]
|
|
J --> K[检查库存]
|
|
K --> L{库存充足?}
|
|
L -->|是| M[扣减库存]
|
|
L -->|否| N[库存不足警告]
|
|
M --> I
|
|
N --> O[处理缺货]
|
|
|
|
E --> P[验证调拨单]
|
|
P --> Q[源仓库扣减]
|
|
Q --> R[目标仓库增加]
|
|
R --> I
|
|
|
|
F --> S[盘点差异分析]
|
|
S --> T[调整库存]
|
|
T --> I
|
|
|
|
I --> U[更新库存统计]
|
|
U --> V[触发库存预警]
|
|
V --> W[流程结束]
|
|
```
|
|
|
|
## 物流发货流程
|
|
|
|
```mermaid
|
|
graph TD
|
|
A[订单待发货] --> B[选择物流服务商]
|
|
B --> C{服务商类型}
|
|
C -->|FreightCom| D[FreightCom API]
|
|
C -->|CanadaPost| E[CanadaPost API]
|
|
C -->|UniExpress| F[UniExpress API]
|
|
|
|
D --> G[获取运费报价]
|
|
E --> G
|
|
F --> G
|
|
|
|
G --> H[比较运费]
|
|
H --> I[选择最优方案]
|
|
I --> J[创建运单]
|
|
J --> K[生成跟踪号]
|
|
K --> L[打印运单标签]
|
|
L --> M[更新订单状态]
|
|
M --> N[同步到WooCommerce]
|
|
N --> O[发送客户通知]
|
|
O --> P[开始物流跟踪]
|
|
P --> Q{包裹送达?}
|
|
Q -->|否| R[继续跟踪]
|
|
Q -->|是| S[订单完成]
|
|
R --> P
|
|
```
|
|
|
|
## 用户认证流程
|
|
|
|
```mermaid
|
|
graph TD
|
|
A[用户登录请求] --> B[验证用户名密码]
|
|
B --> C{验证成功?}
|
|
C -->|否| D[返回错误信息]
|
|
C -->|是| E[生成JWT Token]
|
|
E --> F[返回Token给客户端]
|
|
F --> G[客户端存储Token]
|
|
G --> H[后续请求携带Token]
|
|
H --> I[服务器验证Token]
|
|
I --> J{Token有效?}
|
|
J -->|否| K[返回401未授权]
|
|
J -->|是| L[处理业务请求]
|
|
L --> M[返回响应]
|
|
```
|
|
|
|
## 数据同步流程
|
|
|
|
```mermaid
|
|
graph TD
|
|
A[定时任务启动] --> B[检查同步队列]
|
|
B --> C{有待同步数据?}
|
|
C -->|否| D[等待下次执行]
|
|
C -->|是| E[获取同步数据]
|
|
E --> F{数据类型}
|
|
F -->|产品| G[同步产品数据]
|
|
F -->|订单| H[同步订单数据]
|
|
F -->|库存| I[同步库存数据]
|
|
|
|
G --> J[调用WooCommerce API]
|
|
H --> J
|
|
I --> J
|
|
|
|
J --> K{API调用成功?}
|
|
K -->|否| L[记录错误日志]
|
|
K -->|是| M[更新本地数据]
|
|
L --> N[加入重试队列]
|
|
M --> O[标记同步完成]
|
|
N --> P[等待重试]
|
|
O --> Q[继续处理下一条]
|
|
P --> Q
|
|
Q --> B
|
|
```
|
|
|
|
## 异常处理流程
|
|
|
|
```mermaid
|
|
graph TD
|
|
A[系统异常发生] --> B{异常类型}
|
|
B -->|业务异常| C[记录业务日志]
|
|
B -->|系统异常| D[记录系统日志]
|
|
B -->|网络异常| E[记录网络日志]
|
|
|
|
C --> F[返回业务错误码]
|
|
D --> G[返回系统错误码]
|
|
E --> H[返回网络错误码]
|
|
|
|
F --> I[客户端错误处理]
|
|
G --> J[系统监控告警]
|
|
H --> K[网络重试机制]
|
|
|
|
I --> L[用户友好提示]
|
|
J --> M[运维人员处理]
|
|
K --> N{重试成功?}
|
|
|
|
N -->|是| O[继续正常流程]
|
|
N -->|否| P[标记失败]
|
|
P --> M
|
|
```
|
|
|
|
## 核心业务场景
|
|
|
|
### 1. 电商订单全生命周期
|
|
|
|
```
|
|
订单创建 → 库存预留 → 支付确认 → 拣货打包 → 物流发货 → 在途跟踪 → 签收完成
|
|
↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
WP同步 库存扣减 状态更新 生成运单 跟踪同步 状态更新 订单完成
|
|
```
|
|
|
|
### 2. 库存管理核心场景
|
|
|
|
```
|
|
采购入库 → 质检验收 → 上架可售 → 订单扣减 → 库存预警 → 补货采购
|
|
↓ ↓ ↓ ↓ ↓ ↓
|
|
记录创建 状态更新 库存增加 库存减少 预警通知 采购单生成
|
|
```
|
|
|
|
### 3. 产品管理核心场景
|
|
|
|
```
|
|
产品创建 → 分类设置 → 变体管理 → 库存关联 → 上架销售 → 数据同步
|
|
↓ ↓ ↓ ↓ ↓ ↓
|
|
基础信息 分类关系 SKU管理 库存绑定 状态发布 WP同步
|
|
```
|
|
|
|
## 业务规则说明
|
|
|
|
### 订单处理规则
|
|
1. **订单状态流转**: 严格按照预定义状态流转,不允许跳跃
|
|
2. **库存预留**: 订单确认后立即预留库存,避免超卖
|
|
3. **自动取消**: 超时未支付订单自动取消并释放库存
|
|
4. **退款处理**: 退款后自动恢复库存并同步状态
|
|
|
|
### 库存管理规则
|
|
1. **先进先出**: 出库时优先使用较早入库的商品
|
|
2. **安全库存**: 设置最低库存预警线,低于阈值自动预警
|
|
3. **多仓管理**: 支持多个仓库点独立管理库存
|
|
4. **实时同步**: 库存变动实时同步到各个销售渠道
|
|
|
|
### 物流管理规则
|
|
1. **智能选择**: 根据重量、体积、目的地自动选择最优物流方案
|
|
2. **运费计算**: 实时获取各物流商报价并比较
|
|
3. **异常处理**: 物流异常时自动重试或转换服务商
|
|
4. **状态跟踪**: 定时同步物流状态并通知客户
|
|
|
|
### 数据同步规则
|
|
1. **增量同步**: 优先使用增量同步减少数据传输量
|
|
2. **冲突解决**: 数据冲突时以最新时间戳为准
|
|
3. **失败重试**: 同步失败时按指数退避策略重试
|
|
4. **数据校验**: 同步前后进行数据完整性校验 |