8.5 KiB
8.5 KiB
抽奖盲盒系统业务流程图
1. 系统整体业务流程
graph TD
A[用户注册/登录] --> B[浏览商品]
B --> C{选择抽奖类型}
C --> D1[一番赏]
C --> D2[无限赏]
C --> D3[擂台赏]
C --> D4[抽卡机]
C --> D5[积分赏]
C --> D6[全局赏]
C --> D7[福利盲盒]
C --> D8[领主赏]
C --> D9[连击赏]
D1 --> E[创建订单]
D2 --> E
D3 --> E
D4 --> E
D5 --> E
D6 --> E
D7 --> E
D8 --> E
D9 --> E
E --> F{选择支付方式}
F --> G1[微信支付]
F --> G2[支付宝支付]
F --> G3[余额支付]
F --> G4[虚拟货币支付]
F --> G5[优惠券抵扣]
G1 --> H[支付成功]
G2 --> H
G3 --> H
G4 --> H
G5 --> H
H --> I[执行抽奖算法]
I --> J[生成中奖结果]
J --> K{奖品类型判断}
K --> L1[普通奖品]
K --> L2[宝箱奖品]
K --> L3[特殊奖品]
K --> L4[虚拟货币]
L1 --> M[用户选择处理方式]
L2 --> N[开启宝箱]
L3 --> M
L4 --> O[自动到账]
N --> M
M --> P{处理方式}
P --> Q1[选择发货]
P --> Q2[回收换钱]
P --> Q3[发布集市]
Q1 --> R1[填写收货地址]
Q2 --> R2[获得回收金额]
Q3 --> R3[集市交易]
R1 --> S1[商家发货]
R2 --> T[完成]
R3 --> U[等待买家]
S1 --> V[用户确认收货]
U --> W[买家购买]
V --> T
W --> T
2. 用户注册登录流程
sequenceDiagram
participant U as 用户
participant F as 前端
participant A as API服务
participant D as 数据库
participant S as 短信服务
U->>F: 输入手机号
F->>A: 发送验证码请求
A->>S: 调用短信接口
S-->>A: 发送成功
A->>D: 保存验证码记录
A-->>F: 返回发送结果
U->>F: 输入验证码
F->>A: 提交登录/注册
A->>D: 验证验证码
D-->>A: 验证结果
alt 验证成功
A->>D: 创建/更新用户信息
A->>A: 生成JWT Token
A-->>F: 返回用户信息和Token
F-->>U: 登录成功
else 验证失败
A-->>F: 返回错误信息
F-->>U: 显示错误
end
3. 抽奖核心流程
graph TD
A[用户发起抽奖] --> B[验证用户权限]
B --> C{权限检查}
C -->|失败| D[返回错误信息]
C -->|成功| E[验证商品状态]
E --> F{商品检查}
F -->|下架/售罄| G[返回商品不可用]
F -->|正常| H[创建订单]
H --> I[计算订单金额]
I --> J[应用优惠券/折扣]
J --> K[用户确认支付]
K --> L{支付处理}
L -->|失败| M[订单取消]
L -->|成功| N[开始抽奖流程]
N --> O[获取奖品池]
O --> P[执行抽奖算法]
P --> Q{抽奖算法类型}
Q --> R1[加权随机算法]
Q --> R2[概率区间算法]
Q --> R3[库存消耗算法]
R1 --> S[计算中奖结果]
R2 --> S
R3 --> S
S --> T[更新库存]
T --> U[创建中奖记录]
U --> V{奖品类型}
V --> W1[普通奖品]
V --> W2[宝箱奖品]
V --> W3[虚拟货币]
V --> W4[特殊奖品]
W1 --> X[等待用户选择]
W2 --> Y[触发宝箱开启]
W3 --> Z[自动发放到账]
W4 --> AA[特殊处理逻辑]
Y --> BB[递归抽奖流程]
BB --> X
AA --> X
X --> CC[用户做出选择]
CC --> DD{选择类型}
DD --> EE[发货流程]
DD --> FF[回收流程]
DD --> GG[集市流程]
4. 支付流程
sequenceDiagram
participant U as 用户
participant F as 前端
participant A as API服务
participant P as 支付服务
participant D as 数据库
U->>F: 选择支付方式
F->>A: 创建支付订单
A->>D: 保存订单信息
A->>P: 调用支付接口
P-->>A: 返回支付参数
A-->>F: 返回支付信息
F->>U: 显示支付界面
U->>P: 完成支付
P->>A: 支付回调通知
A->>D: 验证订单状态
A->>D: 更新支付状态
A->>A: 触发抽奖流程
A-->>P: 确认回调处理
A->>F: 推送抽奖结果
F-->>U: 显示中奖信息
5. 商品管理流程
graph TD
A[管理员登录] --> B[商品管理后台]
B --> C{操作类型}
C --> D1[创建商品]
C --> D2[编辑商品]
C --> D3[管理库存]
C --> D4[设置奖品]
D1 --> E1[填写基本信息]
E1 --> E2[上传商品图片]
E2 --> E3[设置价格和库存]
E3 --> E4[配置抽奖参数]
E4 --> E5[保存商品]
D4 --> F1[添加奖品]
F1 --> F2[设置奖品概率]
F2 --> F3[配置奖品库存]
F3 --> F4[设置奖品价值]
F4 --> F5[保存奖品配置]
D3 --> G1[查看库存状态]
G1 --> G2[调整库存数量]
G2 --> G3[设置预警阈值]
G3 --> G4[配置自动下架]
E5 --> H[商品审核]
F5 --> H
G4 --> H
H --> I{审核结果}
I -->|通过| J[商品上架]
I -->|拒绝| K[返回修改]
J --> L[用户可见]
K --> C
6. 订单处理流程
graph TD
A[订单创建] --> B[订单支付]
B --> C[抽奖执行]
C --> D[生成中奖记录]
D --> E{用户选择}
E --> F1[选择发货]
E --> F2[选择回收]
E --> F3[发布集市]
F1 --> G1[用户填写地址]
G1 --> G2[生成发货订单]
G2 --> G3[商家打包发货]
G3 --> G4[物流配送]
G4 --> G5[用户确认收货]
G5 --> G6[订单完成]
F2 --> H1[计算回收价格]
H1 --> H2[确认回收]
H2 --> H3[资金到账]
H3 --> H4[回收完成]
F3 --> I1[设置售价]
I1 --> I2[发布到集市]
I2 --> I3[等待买家]
I3 --> I4{是否有买家}
I4 -->|是| I5[买家支付]
I4 -->|否| I6[撤回商品]
I5 --> I7[交易完成]
I6 --> E
7. 集市交易流程
sequenceDiagram
participant S as 卖家
participant M as 集市系统
participant B as 买家
participant P as 支付系统
participant D as 数据库
S->>M: 发布商品到集市
M->>D: 保存商品信息
M-->>S: 发布成功
B->>M: 浏览集市商品
M->>D: 查询商品列表
D-->>M: 返回商品数据
M-->>B: 显示商品列表
B->>M: 选择购买商品
M->>D: 检查商品状态
D-->>M: 商品可购买
M->>P: 创建支付订单
P-->>M: 返回支付信息
M-->>B: 显示支付界面
B->>P: 完成支付
P->>M: 支付成功回调
M->>D: 更新交易状态
M->>D: 转移商品所有权
M->>S: 通知交易成功
M-->>B: 交易完成
8. 数据统计分析流程
graph TD
A[数据收集] --> B[实时数据处理]
B --> C[数据存储]
C --> D[定时任务分析]
D --> E{分析类型}
E --> F1[用户行为分析]
E --> F2[销售数据分析]
E --> F3[财务数据分析]
E --> F4[商品热度分析]
F1 --> G1[用户活跃度]
F1 --> G2[用户消费习惯]
F1 --> G3[用户留存率]
F2 --> H1[销售额统计]
F2 --> H2[商品销量排行]
F2 --> H3[地区销售分布]
F3 --> I1[收入支出统计]
F3 --> I2[利润率分析]
F3 --> I3[成本控制]
F4 --> J1[商品点击率]
F4 --> J2[转化率分析]
F4 --> J3[库存周转率]
G1 --> K[生成报表]
G2 --> K
G3 --> K
H1 --> K
H2 --> K
H3 --> K
I1 --> K
I2 --> K
I3 --> K
J1 --> K
J2 --> K
J3 --> K
K --> L[管理员查看]
K --> M[自动预警]
K --> N[决策支持]
流程图说明
主要业务流程特点:
- 多样化抽奖模式:支持9种不同的抽奖类型,满足不同用户需求
- 灵活支付方式:支持多种支付方式和虚拟货币组合支付
- 智能抽奖算法:采用优化后的加权随机算法,确保公平性和性能
- 完整订单流程:从下单到收货的完整闭环
- 用户自主选择:中奖后可选择发货、回收或集市交易
- 实时数据分析:全方位的数据统计和分析支持
技术实现要点:
- 使用事务确保数据一致性
- 异步处理提高系统性能
- 缓存机制减少数据库压力
- 完善的日志记录便于问题排查
- 模块化设计便于功能扩展
这些流程图展示了系统的核心业务逻辑和技术架构,为开发和运维提供了清晰的指导。