2.9 KiB
2.9 KiB
资金充值/提现流程验证报告
✅ Phase 1: 代码审查完成
审查时间: 2026-03-23 21:25 结果: 所有核心功能已实现
📊 功能清单
后端(FundService.java)
-
✅ 充值申请(关联默认冷钱包)
-
✅ 充值订单创建(status=1)
-
✅ 用户确认打款(status → 2)
-
✅ 管理员审批(通过/驳回)
-
✅ 审批通过后资金入账
-
✅ 审批驳回后记录原因
-
✅ 提现申请(冻结资金)
-
✅ 提现订单创建(status=1)
-
✅ 管理员审批(通过/驳回)
-
✅ 审批通过后扣除冻结资金
-
✅ 审批驳回后解冻资金退还
-
✅ 待审批订单查询
-
✅ 所有订单查询
-
✅ 订单详情查询
管理后台{monisuo-admin}
-
✅ 冷钱包配置页面(wallets.vue)
- ✅ 添加钱包
- ✅ 编辑钱包
- ✅ 删除钱包
- ✅ 设置默认
- ✅ 切换状态
-
✅ 订单审批页面{orders.vue}
-
✅ 待审批订单列表
-
✅ 所有订单列表
-
✅ 订单详情查看
-
✅ 审批通过
-
✅ 审批驳回(填写原因)
-
✅ 资金总览统计
-
用户端{flutter_monisuo}
- ✅ 资产页面充值功能(asset_page.dart)
-
✅ 充值金额输入
-
✅ 显示钱包地址 - ✅ 用户确认打款 - ✅ 订单状态显示 - ✅ 取消订单 - ✅ 充提记录列表(fund_orders_page.dart)
-
✅ 订单列表展示
-
✅ 订单详情查看
-
✅ 状态流转显示
-
✅ 取消订单
-
✅ 确认打款按钮 - ✅ 取消订单按钮
-
数据库
- ✅ cold_wallet 表已创建
- ✅ order_fund 表字段完整
- ✅ account_fund 资金账户表
- ✅ account_flow 资金流水表
❌ 发现的问题
1. 提现逻辑问题
问题: 提现时没有检查交易账户余额
影响: 用户可能提现交易账户的钱
严重性: 🟡 中等
位置: FundService.withdraw() 第83-85行
// 检查并冻结余额
AccountFund fund = assetService.getOrCreateFundAccount(userId);
if (fund.getBalance().compareTo(amount) < 0) {
throw new RuntimeException("资金账户余额不足");
}
问题:
-
只检查了资金账户余额
-
没有检查交易账户余额
-
如果用户交易账户有钱,提现应该从哪里来?
修复建议:
- 方式A: 添加交易账户余额检查和提示
- 方式B: 只允许提现资金账户的钱
- 方式C: 提现前需要将交易账户的资金划转到资金账户
2. 管理后台缺失功能
问题: 没有看到用户端订单管理页面
影响: 用户无法查看自己的订单历史
修复建议: 添加订单管理菜单
- 用户端订单列表页面
- 订单详情弹窗