# 订单状态与佣金系统文档索引 本索引汇总了关于订单状态、冻结状态和差价佣金的所有文档和代码位置。 ## 📚 文档列表 ### 1. [order_status_commission_analysis.md](order_status_commission_analysis.md) **完整的系统分析报告** - 适合深入理解系统设计 **包含内容**: - ✅ 订单状态定义(支付状态、佣金状态) - ✅ 订单状态流转逻辑(3种支付方式) - ✅ 订单超时自动取消机制 - ✅ 佣金系统与订单的关系 - ✅ 钱包冻结与提现流程(3阶段) - ✅ 关键数据模型说明 - ✅ 完整流程图 - ✅ 业务规则总结 - ✅ 文件索引表 **适用场景**: - 需要全面理解系统设计 - 进行系统架构评审 - 编写相关功能文档 --- ### 2. [order_status_quick_reference.md](order_status_quick_reference.md) **快速参考指南** - 适合日常开发查询 **包含内容**: - ✅ 订单支付状态速查表 - ✅ 订单佣金状态速查表 - ✅ 订单创建流程速查 - ✅ 钱包冻结状态速查表 - ✅ 提现流程速查(3阶段) - ✅ 佣金类型速查 - ✅ 关键代码位置速查 - ✅ 常用常量速查 - ✅ 常见问题解答 - ✅ 数据库查询示例 - ✅ 业务规则速查 **适用场景**: - 快速查询状态值 - 查找代码位置 - 解答常见问题 - 编写 SQL 查询 --- ### 3. [order_status_search_summary.md](order_status_search_summary.md) **搜索结果总结** - 适合了解核心发现 **包含内容**: - ✅ 搜索范围说明 - ✅ 5个核心发现 - ✅ 关键代码位置索引 - ✅ 重要业务规则 - ✅ 数据流向图 - ✅ 生成的文档说明 - ✅ 关键发现总结 - ✅ 注意事项 - ✅ 最佳实践 **适用场景**: - 快速了解系统概况 - 查找关键代码位置 - 了解业务规则 - 学习最佳实践 --- ## 🔍 核心概念速查 ### 订单状态 | 状态 | 值 | 说明 | |------|-----|------| | 待支付 | 1 | 微信/支付宝支付时的初始状态 | | 已支付 | 2 | 线下/钱包支付或支付回调后的状态 | | 已取消 | 3 | 待支付订单超时30分钟后的状态 | | 已退款 | 4 | 退款操作后的状态 | ### 佣金状态 | 状态 | 值 | 说明 | |------|-----|------| | 待计算 | 1 | 订单创建时的初始状态 | | 已计算 | 2 | 佣金计算完成后的状态 | ### 钱包冻结 | 字段 | 说明 | |------|------| | balance | 总余额 | | frozen_balance | 冻结余额(用于提现) | | 可用余额 | balance - frozen_balance | --- ## 📍 关键代码位置 ### 订单相关 ``` internal/model/order.go ├─ 第 98-104 行:支付状态常量 ├─ 第 106-110 行:佣金状态常量 └─ 第 9-138 行:订单模型定义 internal/service/order/service.go ├─ 第 114-354 行:CreateLegacy(已废弃) ├─ 第 359-674 行:CreateAdminOrder(后台订单创建) ├─ 第 679-928 行:CreateH5Order(H5订单创建) └─ 第 1314-1385 行:订单超时自动取消 ``` ### 佣金相关 ``` internal/service/commission_calculation/service.go ├─ 第 74-119 行:佣金计算主逻辑 └─ 第 121-230 行:成本价差佣金计算 internal/model/commission.go └─ 第 9-46 行:佣金记录模型 ``` ### 提现相关 ``` internal/service/shop_commission/service.go └─ 第 517-649 行:代理发起提现申请 internal/service/commission_withdrawal/service.go ├─ 第 145-256 行:平台审核通过 └─ 第 258-310 行:平台审核拒绝 ``` ### 钱包相关 ``` internal/model/agent_wallet.go ├─ 第 9-30 行:代理钱包模型 └─ 第 37-94 行:钱包交易记录模型 pkg/constants/wallet.go ├─ 第 17-22 行:钱包状态常量 ├─ 第 83-91 行:交易状态常量 └─ 第 1-234 行:所有钱包相关常量 ``` --- ## 🎯 常见任务指南 ### 任务 1:查询订单状态 **文档**:order_status_quick_reference.md - 订单支付状态速查表 **代码**:internal/model/order.go:98-104 ### 任务 2:理解佣金计算 **文档**:order_status_commission_analysis.md - 第三章 **代码**:internal/service/commission_calculation/service.go:74-230 ### 任务 3:实现提现功能 **文档**:order_status_commission_analysis.md - 第四章 **代码**: - 发起申请:internal/service/shop_commission/service.go:517-649 - 审核通过:internal/service/commission_withdrawal/service.go:145-256 - 审核拒绝:internal/service/commission_withdrawal/service.go:258-310 ### 任务 4:查询可提现金额 **文档**:order_status_quick_reference.md - 数据库查询速查 **SQL**: ```sql SELECT balance - frozen_balance as available_balance FROM tb_agent_wallet WHERE shop_id = ? AND wallet_type = 'commission'; ``` ### 任务 5:处理订单超时 **文档**:order_status_commission_analysis.md - 第二章 **代码**:internal/service/order/service.go:1314-1385 --- ## ⚠️ 重要注意事项 1. **订单没有冻结状态** - 冻结状态存在于代理钱包,不在订单 - 订单只有支付状态和佣金状态 2. **订单超时不计算佣金** - 取消的订单佣金状态保持为"待计算" - 不会入队佣金计算任务 3. **代购订单不计算一次性佣金** - 一次性佣金仅对非代购订单触发 - 仅在首次购买时触发 4. **提现流程中的冻结机制** - 提现申请时冻结余额 - 审核通过时从冻结余额直接扣款 - 审核拒绝时解冻余额 --- ## 📊 文档统计 | 文档 | 大小 | 章节数 | 代码位置数 | |------|------|--------|-----------| | order_status_commission_analysis.md | 14K | 9 | 20+ | | order_status_quick_reference.md | 6.0K | 12 | 15+ | | order_status_search_summary.md | 6.1K | 8 | 10+ | **总计**:26.1K,29个章节,45+个代码位置 --- ## 🚀 快速开始 ### 第一次接触系统? 1. 阅读 order_status_search_summary.md(5分钟) 2. 查看 order_status_commission_analysis.md 的流程图(10分钟) 3. 收藏 order_status_quick_reference.md(备用) ### 需要快速查询? 1. 打开 order_status_quick_reference.md 2. 使用速查表或常见问题部分 3. 参考代码位置索引 ### 需要深入理解? 1. 阅读 order_status_commission_analysis.md 的完整内容 2. 对照代码位置查看源代码 3. 参考业务规则总结 --- ## 📞 相关资源 ### 相关文档 - [套餐与佣金业务模型](../commission-package-model.md) - [分佣逻辑验证指引](../优化说明/分佣逻辑正确与否验证.md) ### 相关代码 - 订单服务:`internal/service/order/` - 佣金服务:`internal/service/commission_calculation/` - 提现服务:`internal/service/commission_withdrawal/` - 钱包服务:`internal/service/shop_commission/` --- **最后更新**:2024年4月11日 **文档版本**:1.0 **维护者**:开发团队