hl-api-changelog/changelogs/2026-03/2026-03-21_code_quality_fixes.md

2.4 KiB

代码质量修复(多模块)

日期: 2026-03-21 服务: hl-order-service, hl-user-service, hl-payment-service, hl-file-service, hl-contract-service, hl-mp-service, hl-product-service, hl-insurance-service 类型: Bug修复 + 性能优化


变更说明

本次修复了多模块的代码级 bug,均为后端内部逻辑优化,不影响现有接口的请求/响应格式

修复清单

模块 修复内容
hl-order-service BigDecimal.equals→compareTo 修复价格比较精度问题
hl-order-service GROUP下单报价 NPE 防护quoteInfo.get() 空值处理)
hl-order-service 订单号升级:毫秒精度+6位随机数,防碰撞
hl-order-service 自动投保/签约方案ID类型安全转换
hl-order-service GROUP下单出发日期已过校验
hl-user-service AdminAuthService 6处 NPE 防护(会话数据提取)
hl-payment-service 日期查询参数格式校验400替代500
hl-file-service 文件统计空值防护
hl-contract-service userId 类型安全转换
hl-mp-service 产品列表 GROUP 团期获取从串行改为并行(性能优化)
hl-product-service 车辆绑定异常信息不泄露技术细节
hl-insurance-service 投保公司主体错误提示不泄露用户输入

前端无需改动

以上修复均为后端内部逻辑,现有接口行为不变。


第二批修复(并发安全+幂等性+深层防护)

模块 修复内容
hl-product-service PriceCalendarService: new Thread() → CompletableFuture.runAsync()
hl-order-service OrderExpiryJob: 分布式锁 TTL 4min → 5min不短于任务间隔
hl-order-service OrderExpiryConsumer: 新增 Redis 幂等性检查
hl-order-service BatchDisbandConsumer: batchId 安全类型转换
hl-order-service GROUP下单 batchInfo 字段 null 防护
hl-order-service refundPolicyId 4处安全转换
hl-order-service contactPhone.substring 越界防护
hl-order-service Map.of() NPE 防护STATUS_LABELS 查询前 null 检查)
hl-insurance-service InsuranceOrderService STATUS_LABELS null 防护
hl-contract-service ContractService STATUS_LABELS null 防护
全项目 ((Number) map.get()).xxxValue() → instanceof 检查15处

测试统计

15 模块 3598 测试全绿,0 回归。