rwadurian/frontend/mobile-app/lib/core/services
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_service.dart fix(mobile-app): 修复头像更新未同步到账号列表的问题 2025-12-27 10:25:19 -08:00
auth_event_service.dart feat(auth): 实现修改密码API和Token过期自动跳转登录 2025-12-23 20:25:56 -08:00
authorization_service.dart fix(mobile): 改进用户详情页风格和火柴人进度计算 2025-12-24 01:41:41 -08:00
contract_check_service.dart chore: temporarily disable KYC and contract check logs 2026-01-02 20:51:13 -08:00
contract_signing_service.dart chore(mobile-app): 减少频繁日志输出 2025-12-28 06:31:45 -08:00
deposit_service.dart feat(deposit): add deposit balance API and Kafka consumer for deposit events 2025-12-09 02:29:31 -08:00
maintenance_service.dart feat(mobile-app,admin): 添加系统维护功能和通知徽章功能 2025-12-27 23:26:01 -08:00
multi_account_service.dart fix(mobile-app): 退出登录时停止遥测上传 2025-12-27 10:40:28 -08:00
notification_service.dart fix(notification): 修复通知中心API路径 2025-12-24 01:20:43 -08:00
pending_action_check_service.dart feat(pending-actions): add user pending actions system 2026-01-02 18:22:51 -08:00
pending_action_service.dart feat(pending-actions): add special deduction feature for admin-created user actions 2026-01-03 07:04:46 -08:00
planting_service.dart fix(mobile-app): 修正认种价格为15831 USDT/棵 2025-12-22 20:15:49 -08:00
referral_service.dart feat(profile): 添加我的伞下功能 - 展示下级用户树形结构 2025-12-14 10:34:56 -08:00
reward_service.dart feat(settlement): implement settle-to-balance with detailed source tracking 2026-01-03 04:29:38 -08:00
system_config_service.dart chore: 提交所有未提交的修改 2025-12-19 06:09:43 -08:00
wallet_service.dart feat(pending-actions): add special deduction feature for admin-created user actions 2026-01-03 07:04:46 -08:00