实现完整的法币提现功能,支持银行卡、支付宝、微信三种收款方式。 此功能与现有的区块链划转功能完全独立,互不影响。 ## 后端 (wallet-service) ### 数据库 - 新增 `fiat_withdrawal_orders` 表存储法币提现订单 - 与现有 `withdrawal_orders` 表(区块链划转)完全分离 - 添加完整索引支持高效查询 ### 领域层 - 新增 `FiatWithdrawalStatus` 枚举(与 WithdrawalStatus 独立) - 流程: PENDING -> FROZEN -> REVIEWING -> APPROVED -> PAYING -> COMPLETED - 或 REJECTED / FAILED / CANCELLED - 新增 `PaymentMethod` 枚举: BANK_CARD / ALIPAY / WECHAT - 新增 `FiatWithdrawalOrder` 聚合根 - 新增 `IFiatWithdrawalOrderRepository` 仓储接口 - 新增 `FIAT_WITHDRAWAL` 账本流水类型 ### 应用层 - 新增 `FiatWithdrawalApplicationService` 处理业务逻辑 - 发送短信验证码 - 申请法币提现(冻结余额) - 提交审核 - 审核通过/驳回 - 开始打款 - 完成打款 ### API层 - 新增 `FiatWithdrawalController` 提供用户端API - POST /wallet/fiat-withdrawal/send-sms - 发送验证码 - POST /wallet/fiat-withdrawal - 申请提现 - GET /wallet/fiat-withdrawal - 获取提现记录 - 新增内部API供管理端调用 - GET /api/v1/wallets/fiat-withdrawals - 查询订单 - POST /api/v1/wallets/fiat-withdrawals/:orderNo/review - 审核 - POST /api/v1/wallets/fiat-withdrawals/:orderNo/start-payment - 开始打款 - POST /api/v1/wallets/fiat-withdrawals/:orderNo/complete-payment - 完成打款 ## 前端 (admin-web) - 新增法币提现审核管理页面 `/withdrawals` - 支持按状态分 Tab 查看订单 - 支持审核通过/驳回 - 支持打款操作 - 支持查看订单详情 ## 前端 (mobile-app) - 新增 `WithdrawFiatPage` 法币提现页面 - 支持选择银行卡/支付宝/微信 - 输入收款账户信息 - 新增 `WithdrawFiatConfirmPage` 确认页面 - 短信验证码验证 - 密码验证 - 在 `WalletService` 中添加法币提现相关方法和模型 ## 重要说明 此功能与现有的区块链划转功能 (withdraw_usdt_page.dart) 完全独立: - 独立的数据库表 - 独立的聚合根 - 独立的状态枚举 - 独立的API端点 - 独立的前端页面 原有的区块链划转功能保持不变,不受任何影响。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| .claude | ||
| admin-service | ||
| authorization-service | ||
| backup-service | ||
| blockchain-service | ||
| docs | ||
| identity-service | ||
| leaderboard-service | ||
| mpc-service | ||
| planting-service | ||
| presence-service | ||
| referral-service | ||
| reporting-service | ||
| reward-service | ||
| scripts | ||
| wallet-service | ||
| .env.example | ||
| .gitignore | ||
| README.md | ||
| deploy.sh | ||
| docker-compose.infra.yml | ||
| docker-compose.yml | ||
| init-multiple-dbs.sh | ||
README.md
RWA Backend Services
统一部署管理 RWA 后端微服务。
架构概览
┌─────────────────────────────────────────────────────────────────┐
│ 192.168.1.100 (Gateway) │
│ ┌─────────────┐ ┌─────────────────────────────────────────┐ │
│ │ Nginx │ │ MPC-System (Go) │ │
│ │ (Reverse │ │ - session-coordinator (:8081) │ │
│ │ Proxy) │ │ - message-router (:8082) │ │
│ │ │ │ - server-party-1/2/3 (:8083-8085) │ │
│ └─────────────┘ │ - account-service (:8080) │ │
│ └─────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
│ Internal Network
▼
┌─────────────────────────────────────────────────────────────────┐
│ 192.168.1.111 (Backend) │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Docker Compose Services │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ PostgreSQL │ │ Redis │ │ Kafka │ │ │
│ │ │ (:5432) │ │ (:6379) │ │ (:9092) │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ identity │ │ wallet │ │ backup │ │ │
│ │ │ (:3000) │ │ (:3001) │ │ (:3002) │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ planting │ │ referral │ │ reward │ │ │
│ │ │ (:3003) │ │ (:3004) │ │ (:3005) │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ mpc │ │ leaderboard │ │ reporting │ │ │
│ │ │ (:3006) │ │ (:3007) │ │ (:3008) │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │authorization│ │ admin │ │ │
│ │ │ (:3009) │ │ (:3010) │ │ │
│ │ └─────────────┘ └─────────────┘ │ │
│ └─────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
快速开始
1. 首次安装
# 进入服务目录
cd ~/rwadurian/backend/services
# 运行安装(自动生成安全密钥)
./deploy.sh install
2. 构建镜像
./deploy.sh build
3. 启动服务
./deploy.sh up
4. 检查状态
./deploy.sh status
./deploy.sh health
常用命令
| 命令 | 说明 |
|---|---|
./deploy.sh install |
首次安装,生成配置 |
./deploy.sh build |
构建所有 Docker 镜像 |
./deploy.sh up |
启动所有服务 |
./deploy.sh down |
停止所有服务 |
./deploy.sh restart |
重启所有服务 |
./deploy.sh status |
查看服务状态 |
./deploy.sh health |
检查服务健康 |
./deploy.sh logs |
查看所有日志 |
./deploy.sh logs <service> |
查看指定服务日志 |
./deploy.sh migrate |
运行数据库迁移 |
./deploy.sh rebuild-svc <name> |
重建指定服务 |
服务列表
| 服务 | 端口 | 说明 |
|---|---|---|
| identity-service | 3000 | 身份认证服务 |
| wallet-service | 3001 | 钱包账本服务 |
| backup-service | 3002 | MPC 备份服务 |
| planting-service | 3003 | 认种服务 |
| referral-service | 3004 | 推荐系统服务 |
| reward-service | 3005 | 奖励服务 |
| mpc-service | 3006 | MPC 中间层服务 |
| leaderboard-service | 3007 | 排行榜服务 |
| reporting-service | 3008 | 报表服务 |
| authorization-service | 3009 | 授权服务 |
| admin-service | 3010 | 管理后台服务 |
基础设施
| 服务 | 端口 | 说明 |
|---|---|---|
| PostgreSQL | 5432 | 主数据库 |
| Redis | 6379 | 缓存/会话 |
| Kafka | 9092 | 消息队列 |
| Zookeeper | 2181 | Kafka 协调 |
环境配置
配置文件 .env 由 ./deploy.sh install 自动生成,包含:
- 数据库密码
- JWT 密钥
- 加密密钥
- MPC 系统地址
重要: .env 文件包含敏感信息,请勿提交到 Git!
与 MPC-System 集成
mpc-service 需要连接到运行在 192.168.1.100 上的 MPC-System:
- Session Coordinator:
http://192.168.1.100:8081 - Message Router:
ws://192.168.1.100:8082
确保 192.168.1.111 能够访问 192.168.1.100 的这些端口。
故障排除
查看服务日志
./deploy.sh logs identity-service
重建单个服务
./deploy.sh rebuild-svc mpc-service
数据库连接问题
# 进入 postgres 容器
docker exec -it rwa-postgres psql -U rwa_user -d rwa_identity
清理重新开始
./deploy.sh clean # 删除所有容器和数据
./deploy.sh install
./deploy.sh build
./deploy.sh up