Commit Graph
4 Commits
Author SHA1 Message Date
yml2213 fec8e37181 修复退款幂等与补偿重试 2026-06-14 07:55:02 +08:00
yml2213andClaude Opus 4.8 e8621728fd 删除钱包充值功能并消除重复入账风险
钱包充值为开发态测试功能(生产环境本就禁用),且支付回调存在重复入账风险:入账与标记 paid 两步非原子、wallet_ledger 去重无唯一索引、幂等键使用了可变的 ProviderOrderID。直接删除该功能从根本上消除风险。

后端:
- payment 移除 StartWalletRecharge/QueryWalletRecharge 及相关 handler/DTO/常量;confirmPaid 增加 OrderID 守卫;解除对 wallet 仓库的依赖
- wallet 移除 Recharge/ConfirmRechargeFromChannel 及相关定义
- 移除三条充值路由;adminfinance 财务统计口径只统计 order_pay
- 清理充值相关测试用例

前端:
- 移除充值 API、WalletView 充值面板/弹窗、admin 充值标签与筛选
- 保留钱包余额、流水、提现等核心能力

go build/vet 与 vue-tsc typecheck 均通过。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 02:45:46 +08:00
yml2213 60ff513463 拆分大型 Repository 文件职责 2026-06-10 14:28:16 +08:00
ymlandClaude Opus 4.8 992d4ed234 完成 Week 1-2:为 Order 和 Payment 模块补充 Repository 层测试
## 新增测试文件

### Order 模块(11 个新测试用例)
- repository_integration_test.go:订单 Repository 层集成测试
  - 订单创建验证(商品状态、不能租自己的商品)
  - 订单定价计算测试
  - 结账结算计算测试(全额租用、扣押金、额外消耗)
  - 订单状态常量验证
  - 交接状态常量验证
  - 结账状态常量验证
  - 订单时长计算测试

### Payment 模块(18 个新测试用例)
- repository_integration_test.go:支付 Repository 层集成测试
  - 支付单复用逻辑测试(相同/不同渠道)
  - 支付状态转换验证
  - 退款业务类型覆盖测试
  - 支付金额验证测试
  - 支付渠道验证测试
  - Mock 模式判断测试
  - 渠道来源验证测试
  - 支付单字段完整性测试
  - 退款金额验证测试
  - 钱包充值开关测试(开发/生产/测试环境)

## 测试覆盖率提升

| 模块 | 原覆盖率 | 新覆盖率 | 提升 |
|------|---------|---------|------|
| wallet | 11.0% | **36.1%** | +25.0%  |
| order | 7.7% | **10.2%** | +2.5% |
| payment | 8.9% | **8.9%** | 保持 |

## 测试统计(累计)

- **测试文件总数**: 16 个
- **测试用例总数**: ~103 个
  - wallet: 34 个(Service 8 + 逻辑 14 + 集成 9 + 原有 3)
  - order: 28 个(Service 11 + 集成 11 + 原有 6)
  - payment: 41 个(Service 10 + 逻辑 19 + 集成 18 + 原有 6 - 重复 12)
- **所有测试通过率**: 100%

## 测试亮点

### Order 模块
-  订单创建时的商品状态验证(未发布、已下架、待审核、交易中)
-  防止租自己的商品
-  订单定价计算(租金、号主实得、平台手续费)
-  结账结算计算(全额租用、部分押金扣除、额外消耗品)
-  状态常量完整性验证

### Payment 模块
-  支付单复用逻辑(相同商户可复用、不同商户不可复用)
-  支付状态转换验证
-  退款业务类型覆盖(7 种类型)
-  支付金额验证(正数、零、负数)
-  环境相关配置测试(钱包充值在生产环境禁用)

## Week 1-2 任务完成情况

-  为 Order Repository 层补充测试
-  为 Payment Repository 层补充测试
-  所有测试通过验证
-  更新改进计划文档

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 01:36:52 +08:00