rwadurian/frontend/mining-app
hailin af339b19b9 feat(c2c): 完善C2C场外交易功能 - 收款信息与订单超时处理
## 后端更新

### Prisma Schema (0008_add_c2c_orders migration)
- 新增 C2cPaymentMethod 枚举 (ALIPAY/WECHAT/BANK)
- C2cOrder 模型新增字段:
  - 收款信息:paymentMethod, paymentAccount, paymentQrCode, paymentRealName
  - 超时配置:paymentTimeoutMinutes (默认15分钟), confirmTimeoutMinutes (默认60分钟)
  - 截止时间:paymentDeadline, confirmDeadline
- 新增索引优化超时查询

### API层
- c2c.dto.ts: 新增收款信息和超时配置字段
- c2c.controller.ts: 新增C2C控制器,支持完整的订单生命周期管理

### 业务层
- c2c.service.ts:
  - createOrder: 卖单必须提供收款信息验证
  - takeOrder: 接单时自动设置付款截止时间
  - confirmPayment: 确认付款时设置确认收款截止时间
  - processExpiredOrders/expireOrder: 处理超时订单(释放冻结资产)
- c2c-expiry.scheduler.ts: 每分钟执行超时订单检查(带分布式锁)

### 数据层
- c2c-order.repository.ts: 新增 findExpiredOrders 方法
- trading-account.repository.ts: 新增 unfreezeShares/unfreezeCash 方法

## 前端更新

### 数据模型
- c2c_order_model.dart:
  - 新增 C2cPaymentMethod 枚举
  - 新增收款信息和超时相关字段
  - 新增辅助方法:paymentMethodText, hasPaymentInfo, paymentRemainingSeconds, confirmRemainingSeconds

### API层
- trading_remote_datasource.dart: createC2cOrder/takeC2cOrder 支持收款信息参数

### 状态管理
- c2c_providers.dart: createOrder/takeOrder 方法支持收款信息参数

### UI层
- c2c_publish_page.dart:
  - 新增收款方式选择器 (支付宝/微信/银行卡)
  - 新增收款账号和收款人姓名输入框
  - 卖单发布时验证收款信息必填
  - 确认对话框显示收款信息摘要

- c2c_order_detail_page.dart:
  - 新增收款信息卡片展示(买家视角/卖家视角区分)
  - 新增倒计时进度条显示(付款/确认收款截止时间)
  - 剩余时间<5分钟时高亮警告
  - 支持复制收款账号

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 07:17:22 -08:00
..
android fix(android): 添加 strings.xml 解决部分手机 app 名称显示问题 2026-01-19 04:15:18 -08:00
assets fix(mining-app): 添加assets/images目录 2026-01-11 08:12:29 -08:00
ios chore(app): rename app to 股行 2026-01-16 23:50:23 -08:00
lib feat(c2c): 完善C2C场外交易功能 - 收款信息与订单超时处理 2026-01-19 07:17:22 -08:00
test refactor(frontend): replace all '榴莲' references with '股行' 2026-01-19 04:33:47 -08:00
.gitignore feat(mining-app): 添加Android/iOS平台配置和编译支持 2026-01-11 08:06:53 -08:00
.metadata feat(mining-app): 添加Android/iOS平台配置和编译支持 2026-01-11 08:06:53 -08:00
DEVELOPMENT_GUIDE.md refactor(mining-app): rename 绿积分 to 积分值 across all pages 2026-01-14 19:57:17 -08:00
README.md feat(mining-app): 添加Android/iOS平台配置和编译支持 2026-01-11 08:06:53 -08:00
analysis_options.yaml feat(mining-ecosystem): 添加挖矿生态系统完整微服务与前端 2026-01-10 17:45:46 -08:00
pubspec.yaml refactor(frontend): replace all '榴莲' references with '股行' 2026-01-19 04:33:47 -08:00

README.md

mining_app

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.