# 业务流程图 ## 订单处理流程 ```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. **数据校验**: 同步前后进行数据完整性校验