# 抽奖盲盒系统业务流程图 ## 1. 系统整体业务流程 ```mermaid 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. 用户注册登录流程 ```mermaid 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. 抽奖核心流程 ```mermaid 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. 支付流程 ```mermaid 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. 商品管理流程 ```mermaid 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. 订单处理流程 ```mermaid 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. 集市交易流程 ```mermaid 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. 数据统计分析流程 ```mermaid 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[决策支持] ``` ## 流程图说明 ### 主要业务流程特点: 1. **多样化抽奖模式**:支持9种不同的抽奖类型,满足不同用户需求 2. **灵活支付方式**:支持多种支付方式和虚拟货币组合支付 3. **智能抽奖算法**:采用优化后的加权随机算法,确保公平性和性能 4. **完整订单流程**:从下单到收货的完整闭环 5. **用户自主选择**:中奖后可选择发货、回收或集市交易 6. **实时数据分析**:全方位的数据统计和分析支持 ### 技术实现要点: - 使用事务确保数据一致性 - 异步处理提高系统性能 - 缓存机制减少数据库压力 - 完善的日志记录便于问题排查 - 模块化设计便于功能扩展 这些流程图展示了系统的核心业务逻辑和技术架构,为开发和运维提供了清晰的指导。