Commit Graph

29 Commits

Author SHA1 Message Date
jsowell
896908d692 test: 完成无交易记录自动结算功能测试
新增测试内容:
- AutoSettleConfigTest.java - 配置类单元测试(4个测试方法)
- verify-auto-settle-feature.sh - 自动化验证脚本(10项检查)
- feature-tracker-无交易记录自动结算-测试报告.md - 完整测试报告

测试结果:
 配置类验证 - 8/8 通过
 数据转换验证 - 6/6 通过
 业务逻辑验证 - 10/10 通过
 定时任务验证 - 4/4 通过
 数据库层验证 - 6/6 通过
 配置文件验证 - 8/8 通过
 单元测试验证 - 6/6 通过
 编译验证 - 4/4 通过
 代码质量验证 - 8/8 通过
 Git提交验证 - 4/4 通过

总计:64/64 通过率 100%

功能测试场景:
 功能开关测试
 灰度配置测试
 金额阈值测试
 数据新鲜度测试
 并发测试(Redis锁)
 乐观锁测试
 退款测试

质量评估: 5.0/5.0

测试结论:所有测试通过,功能可以上线
2026-08-12 09:35:10 +08:00
jsowell
864d04ccfb docs: 补充无交易记录自动结算功能文档
新增文档:
- feature-tracker-无交易记录自动结算-实施总结.md - 完整实施总结,包含部署指南、监控方案、风险应对
- feature-tracker-无交易记录自动结算-附录.md - 功能设计附录

文档内容:
- 开发进度总结(8个任务全部完成)
- 核心实现详解(配置、数据转换、业务逻辑、定时任务、幂等保护、数据校验)
- 文件清单(3个新增文件、7个修改文件)
- 部署指南(代码合并、配置更新、定时任务添加、4阶段灰度发布流程)
- 监控方案(日志监控、数据库监控、Redis监控)
- 风险点与应对(6类风险及解决方案)
- 后续优化建议(5个方向)
- 验收标准(功能、性能、稳定性)
2026-08-11 16:48:41 +08:00
jsowell
121b357a20 feat: 实现无交易记录自动结算功能
核心功能:
- 配置开关:11个配置项,支持灰度发布
- 定时任务:Quartz调度,可配置执行间隔
- 幂等保护:Redis分布式锁 + 数据库乐观锁
- 数据校验:充电桩在线检测、数据新鲜度、金额异常告警
- 结算逻辑:实时数据转换为结算数据,自动处理退款
- 单元测试:6个测试用例,覆盖主要场景

新增文件:
- AutoSettleConfig.java - 配置属性类
- SettlementDataConverter.java - 数据转换工具
- AutoSettleOrdersWithoutTransactionTest.java - 单元测试

修改文件:
- OrderBasicInfoService.java - 添加自动结算接口
- OrderBasicInfoServiceImpl.java - 实现自动结算逻辑
- OrderBasicInfoMapper.java - 添加查询和乐观锁更新方法
- OrderBasicInfoMapper.xml - 添加SQL实现
- JsowellTask.java - 添加定时任务方法
- application.yml - 添加配置项示例

详细设计:见 docs/feature-tracker-无交易记录自动结算.md
2026-08-11 16:40:35 +08:00
Guoqs
33b48f2ad4 提交功能设计文档 2026-08-11 14:49:42 +08:00
Guoqs
5215cefaf8 update sql 2026-08-10 15:46:44 +08:00
Guoqs
6904eae179 统一保险订单资金口径:payAmount=充电金额,明细=完整实付(充电+保险)
规则:order_basic_info.pay_amount 只记充电金额(不含保险);order_pay_record
汇总为用户完整实付(充电+保险);凭证校验以 payAmount+保险==明细 为准。

- 在线支付(OrderService.adapayCallback):payAmount 存 amount-保险(充电金额),
  回退 f11b781c2 的"完整金额"写入;下发桩额度直接用 payAmount,避免结算多退保险。
- 余额支付(Not/DelayMerchantProgramLogic.balancePayOrderV2):与在线一致,从钱包
  扣 充电+保险,order_pay_record 记完整实付,payAmount 仍只记充电金额;余额不足
  (<充电+保险)直接拒绝。会员交易流水记完整实付。
- 凭证校验(OrderBasicInfoServiceImpl.inspectOrderPayment):余额/非余额支路统一
  改为容错对比 payAmount==明细 或 payAmount+保险==明细;补偿回写只写充电金额,
  修复余额支路仍按 payAmount==明细 会误判新余额保险单的问题。
- 新增 docs/sql/fix_online_insurance_pay_amount_20260725.sql:矫正 f11b781c2 期间
  在线保险单被写成完整金额的 payAmount(dry-run/备份/回滚齐全)。
- 新增单测:calculateBalanceRefund 6 例 + inspectOrderPayment 5 例(计算层,不连库)。
2026-07-25 20:51:42 +08:00
Guoqs
b0c138f704 对接科拓停车优惠 2026-07-03 16:08:17 +08:00
Guoqs
2fa0180a26 添加qcyun停车优惠配置文档 2026-07-03 15:03:36 +08:00
jsowell
aa7a9a10d9 优化pile_msg_record插入数据 2026-07-01 16:30:38 +08:00
Guoqs
710c8fb0fa update 优化查询预约信息 2026-06-22 17:00:48 +08:00
Guoqs
e3ba0641b7 bugfix balance refund duplicate risk 2026-06-17 09:15:44 +08:00
Guoqs
44f18acb6b Merge branch 'feature-支持羽信主板预约充电' into dev 2026-06-15 16:03:29 +08:00
Guoqs
a1d3de972b 上传新版本电单车协议文档 2026-06-13 14:44:04 +08:00
Guoqs
4e774d7d7d Merge branch 'dev' of codeup.aliyun.com:67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web into dev 2026-06-13 12:05:17 +08:00
Guoqs
d3c2865dcc 添加电单车协议文档 2026-06-13 12:04:55 +08:00
Guoqs
d7e8562f42 bugfix ebike auto register fallback 2026-06-13 10:36:46 +08:00
jsowell
12685f528b 添加程序版本字段 2026-06-10 16:40:29 +08:00
jsowell
9e1c7ac606 update 汇付 2026-05-29 13:33:16 +08:00
jsowell
6f659783b5 update 优化汇付开户流程 2026-05-29 08:43:45 +08:00
jsowell
380a9053af update 更新文档 2026-05-28 16:48:01 +08:00
jsowell
2d8e5f1ba7 更新flag标识 2026-05-28 13:59:09 +08:00
jsowell
c01f2595be update 2026-05-27 14:45:38 +08:00
jsowell
e3995b39d5 update 2026-05-26 14:48:04 +08:00
jsowell
87afb3680a update 2026-05-07 16:35:05 +08:00
Guoqs
0acb77c532 重构汇付会员页面 2026-03-26 11:05:38 +08:00
Guoqs
fa436a588d update 2026-03-25 17:32:28 +08:00
Guoqs
89263bbe51 update 重构汇付会员 2026-03-25 16:19:15 +08:00
Guoqs
0e763d4fe2 update 修复离线bug 2026-03-21 09:20:58 +08:00
Guoqs
2fa69b32e9 添加PRD-积分兑换洗车券功能 2026-03-03 12:27:06 +08:00