352 lines
7.0 KiB
Markdown
352 lines
7.0 KiB
Markdown
|
|
# STATE_MACHINE
|
|||
|
|
|
|||
|
|
## Merchant(商户)状态
|
|||
|
|
|
|||
|
|
PENDING
|
|||
|
|
→ ACTIVE
|
|||
|
|
→ INACTIVE
|
|||
|
|
→ SUSPENDED
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## User(用户)状态
|
|||
|
|
|
|||
|
|
PENDING
|
|||
|
|
→ ACTIVE
|
|||
|
|
→ INACTIVE
|
|||
|
|
→ LOCKED
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Store(店铺)状态
|
|||
|
|
|
|||
|
|
PENDING
|
|||
|
|
→ ACTIVE
|
|||
|
|
→ INACTIVE
|
|||
|
|
→ SUSPENDED
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Feature(功能)状态
|
|||
|
|
|
|||
|
|
INACTIVE
|
|||
|
|
→ PENDING_PAYMENT
|
|||
|
|
→ ACTIVE
|
|||
|
|
→ EXPIRED
|
|||
|
|
→ SUSPENDED
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Order(订单)状态
|
|||
|
|
|
|||
|
|
PENDING
|
|||
|
|
→ PAID
|
|||
|
|
→ SPLIT
|
|||
|
|
→ PROCESSING
|
|||
|
|
→ SHIPPED
|
|||
|
|
→ COMPLETED
|
|||
|
|
→ REFUNDED
|
|||
|
|
→ CANCELLED
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Cross-Border E-Commerce(跨境电商)状态
|
|||
|
|
|
|||
|
|
PENDING
|
|||
|
|
→ PROCESSING
|
|||
|
|
→ CLEARANCE
|
|||
|
|
→ SHIPPING
|
|||
|
|
→ DELIVERED
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## SubOrder(子订单)状态
|
|||
|
|
|
|||
|
|
PENDING
|
|||
|
|
→ PROCESSING
|
|||
|
|
→ SHIPPED
|
|||
|
|
→ COMPLETED
|
|||
|
|
→ REFUNDED
|
|||
|
|
→ CANCELLED
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Product(商品)状态
|
|||
|
|
|
|||
|
|
DRAFT
|
|||
|
|
→ PENDING_APPROVAL
|
|||
|
|
→ ACTIVE
|
|||
|
|
→ INACTIVE
|
|||
|
|
→ DISCONTINUED
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Inventory(库存)状态
|
|||
|
|
|
|||
|
|
NORMAL
|
|||
|
|
→ LOW
|
|||
|
|
→ OUT_OF_STOCK
|
|||
|
|
→ OVERSTOCK
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Payment(支付)状态
|
|||
|
|
|
|||
|
|
CREATED
|
|||
|
|
→ PROCESSING
|
|||
|
|
→ PAID
|
|||
|
|
→ FAILED
|
|||
|
|
→ REFUNDED
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Bill(账单)状态
|
|||
|
|
|
|||
|
|
PENDING
|
|||
|
|
→ CONFIRMED
|
|||
|
|
→ SETTLED
|
|||
|
|
→ DISPUTED
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Settlement(结算)状态
|
|||
|
|
|
|||
|
|
PENDING
|
|||
|
|
→ PROCESSING
|
|||
|
|
→ COMPLETED
|
|||
|
|
→ FAILED
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Task(任务)状态
|
|||
|
|
|
|||
|
|
PENDING
|
|||
|
|
→ RUNNING
|
|||
|
|
→ SUCCESS
|
|||
|
|
→ FAILED
|
|||
|
|
→ CANCELLED
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 商品中心状态机(Product Center State Machine)
|
|||
|
|
|
|||
|
|
### SPU(标准产品单元)状态
|
|||
|
|
|
|||
|
|
DRAFT
|
|||
|
|
→ PENDING_REVIEW
|
|||
|
|
→ ACTIVE
|
|||
|
|
→ INACTIVE
|
|||
|
|
→ ARCHIVED
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────┐
|
|||
|
|
│ DRAFT │ ← 创建时初始状态
|
|||
|
|
└────┬────┘
|
|||
|
|
│ 提交审核
|
|||
|
|
▼
|
|||
|
|
┌─────────────┐
|
|||
|
|
│PENDING_REVIEW│
|
|||
|
|
└──────┬──────┘
|
|||
|
|
│
|
|||
|
|
┌──┴──┐
|
|||
|
|
│ │
|
|||
|
|
▼ ▼
|
|||
|
|
┌───────┐ ┌────────┐
|
|||
|
|
│ACTIVE │ │INACTIVE│
|
|||
|
|
└───┬───┘ └───┬────┘
|
|||
|
|
│ │
|
|||
|
|
└────┬────┘
|
|||
|
|
│
|
|||
|
|
▼
|
|||
|
|
┌─────────┐
|
|||
|
|
│ ARCHIVED│
|
|||
|
|
└─────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### SKU(库存单元)状态
|
|||
|
|
|
|||
|
|
ACTIVE
|
|||
|
|
→ INACTIVE
|
|||
|
|
→ DISCONTINUED
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────┐
|
|||
|
|
│ ACTIVE │ ← 可销售
|
|||
|
|
└────┬────┘
|
|||
|
|
│ 停用
|
|||
|
|
▼
|
|||
|
|
┌──────────┐
|
|||
|
|
│ INACTIVE │ ← 暂停销售
|
|||
|
|
└────┬─────┘
|
|||
|
|
│ 永久停售
|
|||
|
|
▼
|
|||
|
|
┌─────────────┐
|
|||
|
|
│DISCONTINUED │ ← 已停产
|
|||
|
|
└─────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### PlatformListing(平台商品)状态
|
|||
|
|
|
|||
|
|
DRAFT
|
|||
|
|
→ PENDING
|
|||
|
|
→ ACTIVE
|
|||
|
|
→ INACTIVE
|
|||
|
|
→ REJECTED
|
|||
|
|
→ DELISTED
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────┐
|
|||
|
|
│ DRAFT │ ← 本地草稿
|
|||
|
|
└────┬────┘
|
|||
|
|
│ 提交发布
|
|||
|
|
▼
|
|||
|
|
┌─────────┐
|
|||
|
|
│ PENDING │ ← 等待平台审核
|
|||
|
|
└────┬────┘
|
|||
|
|
│
|
|||
|
|
┌──┴──┐
|
|||
|
|
│ │
|
|||
|
|
▼ ▼
|
|||
|
|
┌───────┐ ┌──────────┐
|
|||
|
|
│ACTIVE │ │ REJECTED │ ← 平台拒绝
|
|||
|
|
└───┬───┘ └──────────┘
|
|||
|
|
│
|
|||
|
|
├── 下架 ──→ ┌─────────┐
|
|||
|
|
│ │DELISTED │ ← 已下架
|
|||
|
|
│ └─────────┘
|
|||
|
|
│
|
|||
|
|
└── 停用 ──→ ┌──────────┐
|
|||
|
|
│ INACTIVE │ ← 暂停销售
|
|||
|
|
└──────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### PriceStrategy(价格策略)状态
|
|||
|
|
|
|||
|
|
DRAFT
|
|||
|
|
→ ACTIVE
|
|||
|
|
→ INACTIVE
|
|||
|
|
→ ARCHIVED
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────┐
|
|||
|
|
│ DRAFT │ ← 策略草稿
|
|||
|
|
└────┬────┘
|
|||
|
|
│ 启用
|
|||
|
|
▼
|
|||
|
|
┌─────────┐
|
|||
|
|
│ ACTIVE │ ← 策略生效中
|
|||
|
|
└────┬────┘
|
|||
|
|
│
|
|||
|
|
┌──┴──┐
|
|||
|
|
│ │
|
|||
|
|
▼ ▼
|
|||
|
|
┌──────────┐ ┌─────────┐
|
|||
|
|
│ INACTIVE │ │ ARCHIVED│
|
|||
|
|
└──────────┘ └─────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### SKUMapping(SKU映射)状态
|
|||
|
|
|
|||
|
|
PENDING
|
|||
|
|
→ ACTIVE
|
|||
|
|
→ INACTIVE
|
|||
|
|
→ INVALID
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────┐
|
|||
|
|
│ PENDING │ ← 待确认映射
|
|||
|
|
└────┬────┘
|
|||
|
|
│ 确认映射
|
|||
|
|
▼
|
|||
|
|
┌─────────┐
|
|||
|
|
│ ACTIVE │ ← 映射有效
|
|||
|
|
└────┬────┘
|
|||
|
|
│
|
|||
|
|
┌──┴──┐
|
|||
|
|
│ │
|
|||
|
|
▼ ▼
|
|||
|
|
┌──────────┐ ┌─────────┐
|
|||
|
|
│ INACTIVE │ │ INVALID │ ← 映射失效
|
|||
|
|
└──────────┘ └─────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### ShopAuthorization(店铺授权)状态
|
|||
|
|
|
|||
|
|
PENDING
|
|||
|
|
→ ACTIVE
|
|||
|
|
→ EXPIRED
|
|||
|
|
→ INVALID
|
|||
|
|
→ ERROR
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────┐
|
|||
|
|
│ PENDING │ ← 授权中
|
|||
|
|
└────┬────┘
|
|||
|
|
│ 授权成功
|
|||
|
|
▼
|
|||
|
|
┌─────────┐
|
|||
|
|
│ ACTIVE │ ← 授权有效
|
|||
|
|
└────┬────┘
|
|||
|
|
│
|
|||
|
|
┌──┼──┬───────┐
|
|||
|
|
│ │ │ │
|
|||
|
|
▼ ▼ ▼ ▼
|
|||
|
|
┌────────┐┌─────────┐┌───────┐
|
|||
|
|
│EXPIRED ││ INVALID ││ ERROR │
|
|||
|
|
└────────┘└─────────┘└───────┘
|
|||
|
|
│ │
|
|||
|
|
│ 刷新令牌 │ 重新授权
|
|||
|
|
▼ ▼
|
|||
|
|
┌─────────┐ ┌─────────┐
|
|||
|
|
│ ACTIVE │ │ ACTIVE │
|
|||
|
|
└─────────┘ └─────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Organization(组织架构)状态
|
|||
|
|
|
|||
|
|
ACTIVE
|
|||
|
|
→ INACTIVE
|
|||
|
|
→ ARCHIVED
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────┐
|
|||
|
|
│ ACTIVE │ ← 组织活跃
|
|||
|
|
└────┬────┘
|
|||
|
|
│ 停用
|
|||
|
|
▼
|
|||
|
|
┌──────────┐
|
|||
|
|
│ INACTIVE │ ← 组织停用
|
|||
|
|
└────┬─────┘
|
|||
|
|
│ 归档
|
|||
|
|
▼
|
|||
|
|
┌─────────┐
|
|||
|
|
│ ARCHIVED│ ← 已归档
|
|||
|
|
└─────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 状态变更原则
|
|||
|
|
|
|||
|
|
- 所有状态变更必须通过 Service
|
|||
|
|
- 禁止前端直接控制状态
|
|||
|
|
- 状态变更必须记录操作日志
|
|||
|
|
- 状态变更必须遵循预定义的流转路径
|
|||
|
|
- 状态变更可能触发相关业务逻辑(如通知、计费等)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 状态变更触发条件
|
|||
|
|
|
|||
|
|
- 商户状态:审核结果、逾期未付费、违规行为
|
|||
|
|
- 用户状态:登录异常、权限变更、账号管理
|
|||
|
|
- 店铺状态:平台审核、违规行为、商户操作
|
|||
|
|
- 功能状态:支付结果、订阅到期、手动操作
|
|||
|
|
- 订单状态:支付结果、商户操作、物流状态
|
|||
|
|
- 商品状态:审核结果、库存状态、商户操作
|
|||
|
|
- 库存状态:库存数量变化、库存同步
|
|||
|
|
- 支付状态:支付渠道反馈、人工处理
|
|||
|
|
- 账单状态:系统确认、支付结果、人工处理
|
|||
|
|
- 结算状态:系统处理、支付结果、人工处理
|
|||
|
|
- 任务状态:任务触发、执行结果、人工取消
|