rwadurian/frontend/mobile-app/lib/features
hailin dfdd8ed65a feat(pending-actions): add special deduction feature for admin-created user actions
实现特殊扣减功能,允许管理员为用户创建扣减待办操作,由用户在移动端确认执行。

## 后端 (wallet-service)

### 领域层
- 新增 `SPECIAL_DEDUCTION` 到 LedgerEntryType 枚举
  用于记录特殊扣减的账本流水类型

### 应用层
- 新增 `executeSpecialDeduction` 方法
  - 验证用户钱包存在性
  - 检查余额是否充足
  - 乐观锁控制并发
  - 扣减余额并记录账本流水
  - 返回操作结果和新余额

### API层
- 新增内部API: POST /api/v1/wallets/special-deduction/execute
  供移动端调用执行特殊扣减操作

## 前端 (admin-web)

### 类型定义
- 新增 `SPECIAL_DEDUCTION` 到 ACTION_CODES
- 新增 `SpecialDeductionParams` 接口定义扣减参数
  - amount: 扣减金额
  - reason: 扣减原因

### 页面
- 更新待办操作管理页面
  - 当选择 SPECIAL_DEDUCTION 时显示扣减金额和原因输入框
  - 验证扣减金额必须大于0
  - 验证扣减原因不能为空

### 样式
- 新增特殊扣减表单区域样式

## 前端 (mobile-app)

### 服务层
- 新增 `executeSpecialDeduction` 方法到 WalletService
- 新增 `SpecialDeductionResult` 结果类
- 新增 `specialDeduction` 到 PendingActionCode 枚举

### 页面
- 新增 `SpecialDeductionPage` 特殊扣减确认页面
  - 显示扣减金额和管理员备注
  - 显示当前余额和扣减后余额
  - 余额不足时禁用确认按钮
  - 温馨提示说明操作性质

- 更新 `PendingActionsPage`
  - 处理 SPECIAL_DEDUCTION 类型的待办操作
  - 从 actionParams 解析 amount 和 reason
  - 导航到特殊扣减确认页面

## 工作流程

1. 管理员在 admin-web 创建 SPECIAL_DEDUCTION 待办操作
   - 选择目标用户
   - 输入扣减金额
   - 输入扣减原因

2. 用户在 mobile-app 待办操作列表看到该操作

3. 用户点击后进入特殊扣减确认页面
   - 查看扣减详情
   - 确认余额充足
   - 点击确认执行扣减

4. 后端执行扣减并记录账本流水

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 07:04:46 -08:00
..
account/presentation/pages feat(mobile-app,admin): 添加系统维护功能和通知徽章功能 2025-12-27 23:26:01 -08:00
auth/presentation feat(pending-actions): add user pending actions system 2026-01-02 18:22:51 -08:00
authorization/presentation feat(mobile-app): 流水明细支持显示权益类型和详情 2025-12-26 03:57:35 -08:00
contract_signing/presentation feat(contract-signing): 增强签名功能 2025-12-26 06:42:15 -08:00
deposit/presentation/pages fix(mobile-app): 优化数字显示组件防止自动换行 2025-12-23 18:33:51 -08:00
home/presentation chore(mobile-app): 减少频繁轮询产生的调试日志 2025-12-28 06:54:16 -08:00
kyc feat(mobile-app): KYC成功后自动跳转合同签署页面 2025-12-25 07:07:43 -08:00
mining/presentation/pages fix(mobile-app): 优化数字显示组件防止自动换行 2025-12-23 18:33:51 -08:00
notification/presentation/pages feat(mobile-app,admin): 添加系统维护功能和通知徽章功能 2025-12-27 23:26:01 -08:00
pending_actions/presentation/pages feat(pending-actions): add special deduction feature for admin-created user actions 2026-01-03 07:04:46 -08:00
planting/presentation feat(mobile-app): KYC成功后自动跳转合同签署页面 2025-12-25 07:07:43 -08:00
profile/presentation feat: "同僚"改为"同伴" + KYC从三要素改为二要素 2026-01-02 04:20:42 -08:00
ranking/presentation/pages fix(mobile-app): 优化数字显示组件防止自动换行 2025-12-23 18:33:51 -08:00
security/presentation/pages feat(email): 实现邮箱绑定/解绑功能 2025-12-23 20:53:20 -08:00
share/presentation/pages feat(frontend): 多项功能改进 2025-12-15 04:04:21 -08:00
trading/presentation/pages feat(mobile-app): 优化流水明细筛选选项 2025-12-26 08:17:15 -08:00
withdraw/presentation/pages feat(fiat-withdrawal): add complete fiat withdrawal system 2026-01-03 06:39:11 -08:00