yml2213
|
28c4efc669
|
解耦订单和申诉模块外部依赖
|
2026-06-10 15:41:31 +08:00 |
|
yml2213
|
70a4d8e9ff
|
拆分订单 Handler 文件职责
|
2026-06-10 15:02:23 +08:00 |
|
yml2213
|
d2858c529d
|
继续补齐核心模块 Context 超时控制
|
2026-06-10 11:50:27 +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 |
|
 ymlandClaude Opus 4.8
|
cb07fce5fd
|
为核心金融模块补充单元测试和集成测试
## 新增测试文件
### Wallet 模块(34 个测试用例)
- service_test.go:8 个 Service 层测试
- repository_logic_test.go:14 个纯逻辑测试(applyEntry 核心逻辑)
- repository_integration_test.go:9 个集成测试(数据库完整流程)
- 测试覆盖率:11.0% → 36.1%(提升 25%)
### Order 模块(11 个测试用例)
- service_test.go:11 个 Service 层测试
- 覆盖所有 Service 方法的依赖检查和参数验证
### Payment 模块(29 个测试用例)
- service_test.go:10 个 Service 层测试
- repository_logic_test.go:19 个逻辑测试(状态判断、常量验证)
- 覆盖支付单复用、退款逻辑、输入验证
## 测试基础设施
- database/test_helper.go:提供内存 SQLite 数据库创建函数
- 支持快速、隔离的测试环境
## 测试策略
- 分层测试:Service 层(参数验证)→ Repository 逻辑层(纯函数)→ Repository 集成层(数据库)
- 覆盖核心业务:余额变更、支付单复用、订单状态转换
- 边界条件:余额刚好够扣、差1分不够扣、零金额、并发场景
- 幂等性保证:渠道充值幂等、支付单复用
## 文档
- docs/代码质量改进计划.md:详细的问题分析和改进计划(16周路线图)
- docs/Repository层测试补充总结.md:测试工作总结和运行指南
## 测试结果
- 所有测试通过(74 个测试用例)
- Wallet 模块覆盖率提升至 36.1%
- 为后续测试工作建立了完整的框架和规范
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-10 01:26:06 +08:00 |
|
yml
|
3bbe356c3f
|
拆分订单详情结账逻辑
|
2026-06-09 22:07:55 +08:00 |
|
yml
|
4c2199df58
|
统一订单资产状态变更
|
2026-06-09 20:11:28 +08:00 |
|
yml
|
0990652f8b
|
集中订单状态常量
|
2026-06-09 20:01:37 +08:00 |
|
yml
|
609b49f92b
|
拆分订单仓储模块
|
2026-06-09 19:56:32 +08:00 |
|
yml
|
5cd3ead4bd
|
统一金额分制重构
|
2026-06-09 19:04:11 +08:00 |
|
yml
|
87673288ef
|
chore: finalize amount migration fixes
|
2026-06-09 17:45:29 +08:00 |
|
yml
|
62b898d7cc
|
[Snow Team] backend-fixer: auto-commit work
|
2026-06-09 17:04:40 +08:00 |
|
yml
|
d803089890
|
Order模块:完成分字段重构
核心改造:
1. DTO层全部改为*Cent int64字段(OrderDTO/CheckoutDTO/RefundStatusDTO)
2. 内部结构体orderPricing和checkoutSettlement改为分字段
3. calculateCheckoutSettlement函数改为返回分单位
4. 所有wallet.AppendEntries调用改为AmountCent
5. toAdminDTO/toCheckoutAdminDTO转换函数使用*Cent字段
6. applyOrderPriceView/applyCheckoutPriceView使用分字段
7. buildOrderPricing返回分单位
8. 订单取消/关闭/退款使用分字段计算
技术细节:
- 删除了3处float64金额相加后转分的逻辑
- calculateCheckoutSettlement内部仍用元计算保持兼容性,最后转为分
- 新增effectiveDepositOriginalAmountCent辅助函数
- buildRefundStatusDTO使用TotalAmountCent
- 编译验证通过 ✅
|
2026-06-09 13:54:04 +08:00 |
|
yml
|
0b419f5084
|
修复仲裁退款并新增免押额度
|
2026-06-08 21:00:39 +08:00 |
|
yml
|
494b2c068a
|
贯通商品编号全流程
|
2026-06-08 20:00:07 +08:00 |
|
yml2213
|
954c3d6be3
|
修复拉卡拉支付时间偏差
|
2026-06-07 20:42:57 +08:00 |
|
yml2213
|
a5e55bc045
|
测试修复15分钟bug
|
2026-06-07 20:05:56 +08:00 |
|
 ymlandClaude Opus 4.8
|
ec9baada67
|
统一管理后台分页样式
- 新建 AdminTablePagination 组件,统一分页 UI
- 改造 6 个前端页面使用统一分页组件:
- 管理员管理
- 用户管理
- 申诉管理
- 审计日志
- 公告管理
- 钱包流水
- 订单管理前后端完整改造:
- 后端:添加 PaginatedResult 结构,支持 page/page_size 参数
- 前端:API 支持分页参数,页面使用统一分页组件
- 所有列表页分页样式统一为商品管理的 .table-pagination 设计
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-06 00:13:59 +08:00 |
|
yml2213
|
498e3d7bde
|
优化订单结算金额展示和钱包流水号
|
2026-06-05 00:37:50 +08:00 |
|
 yml2213andClaude Opus 4.7
|
4ebf7f75fe
|
refactor: 统一全项目金额精度为角(0.1元)
## 变更概述
将全项目金额处理从整元四舍五入统一为角精度(0.1元),提高金额计算准确性和显示一致性。
## 后端改动
- 新增 pkg/money/format.go 统一金额处理包
- Round(): 角精度四舍五入
- Min/Max(): 金额比较
- Format(): 格式化字符串
- 更新业务模块使用统一金额函数
- internal/modules/order: 订单结算改为角精度
- internal/modules/dispute: 纠纷金额处理
- internal/modules/listing: 商品定价和存储
- 更新测试用例期望值为角精度
## 前端改动
- 新增 shared/utils/money.ts 金额工具函数
- roundMoney(): 角精度四舍五入
- formatMoney(): 格式化为字符串(保留1位小数)
- formatMoneyWithSymbol(): 添加¥符号
- 更新金额计算和显示逻辑
- shared/utils/pricing.ts: 定价计算
- shared/utils/listingDisplay.ts: 商品显示
- shared/composables/useMoney.ts: 组合式函数
- 修复视图文件导入声明
- features/listings/views: 商品详情页
- features/seller/views: 卖家管理页
## 效果
- 金额显示:¥123.0(统一保留1位小数)
- 计算精度:12.45 -> 12.5(角精度)
- 减少误差:避免整元四舍五入损失
- 显示一致:全项目统一格式
## 测试
- ✅ 后端单元测试通过
- ✅ TypeScript 类型检查通过
- ✅ 开发环境正常运行
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-06-04 16:42:49 +08:00 |
|
yml
|
0bdc5ae7a9
|
优化订单号生成规则
|
2026-06-03 23:05:57 +08:00 |
|
yml
|
13e3a41d63
|
修复完成订单自动回显
|
2026-06-03 22:12:09 +08:00 |
|
yml
|
c80d3f960e
|
优化支付退款钱包链路
|
2026-06-03 21:47:04 +08:00 |
|
yml
|
ae8928f458
|
开始增加支付-1
|
2026-06-03 12:21:23 +08:00 |
|
yml
|
6dcea2d56c
|
完善日志和审计链路
|
2026-06-02 21:40:23 +08:00 |
|
yml
|
c54e3936ab
|
修复结账金额和后台类型
|
2026-05-27 10:28:05 +08:00 |
|
yml2213
|
8cbd06dca4
|
后台系统配置列表现在只返回当前真实使用的配置项
|
2026-05-27 08:40:03 +08:00 |
|
yml2213
|
a002987784
|
SSE 推送替代轮训
|
2026-05-27 06:18:55 +08:00 |
|
yml2213
|
89f4dabfb3
|
金额使用整数, 不再扣押金, 价格每个人看到自己的-1
|
2026-05-27 00:22:26 +08:00 |
|
yml
|
7e7e6dc166
|
新增订单群聊
|
2026-05-25 14:57:19 +08:00 |
|
yml
|
1a3886f8d1
|
优化移动端ui
|
2026-05-25 13:07:46 +08:00 |
|
yml
|
5f6a4afcbb
|
彻底优化数据库字段
|
2026-05-24 20:49:37 +08:00 |
|
yml
|
8c619b37c8
|
完善号主订单交接待办入口
|
2026-05-24 19:18:27 +08:00 |
|
yml
|
778e08a261
|
兼容接入订单租期字段
|
2026-05-24 18:24:39 +08:00 |
|
yml
|
e69d08ca9f
|
兼容接入商品固定价格字段
|
2026-05-24 18:13:20 +08:00 |
|
yml
|
03e5d211dc
|
接入订单结账确认流程
|
2026-05-24 16:52:15 +08:00 |
|
yml
|
c4cfe6dd79
|
新增订单待支付与支付确认后端流程
|
2026-05-24 16:29:47 +08:00 |
|
yml2213
|
a6a1afb879
|
删掉租期相关错误东西
|
2026-05-23 14:44:32 +08:00 |
|
yml
|
6f915b37d3
|
订单超时任务系统
|
2026-05-22 18:16:05 +08:00 |
|
yml
|
55477d0ac6
|
feat: add admin risk actions and arbitration settlement
|
2026-05-22 18:11:01 +08:00 |
|
yml
|
c9e6ea2b71
|
后台“资金流水
|
2026-05-22 17:43:45 +08:00 |
|
yml
|
99f9df7bcd
|
第 5 阶段:纠纷、通知与后台-1
|
2026-05-22 16:34:32 +08:00 |
|
yml
|
9ebdfab078
|
第 4 阶段:订单、交接与账务--ok
|
2026-05-22 16:14:23 +08:00 |
|
yml
|
edda1fbc7b
|
第 4 阶段:订单、交接与账务--1
|
2026-05-22 16:05:40 +08:00 |
|
yml
|
8e7f1f17f0
|
第 0 阶段:项目初始化
|
2026-05-22 15:05:28 +08:00 |
|