hl-api-changelog/changelogs-v2/2026-06/18_4017_景区车辆价格日历可售判定修复-行为修复-管理后台.md

2.4 KiB

景区/车辆价格日历「可售判定 + 扣库存」守卫修复 — 行为修复 — 管理后台

变更类型:🐛 行为修复String 引用比较 != 改值比较 .equals),无接口契约变更 端类型:管理后台(资源价格日历可售性,间接影响下单可售校验) 日期2026-06-18 服务hl-resource-servicescenic / vehicle 价格日历) PRwx/HL#4017 (每日定时代码审查发现,无关联工单)


⚠️ 关键说明

今日 PR #3957 把资源价格日历可售/扣库存守卫从 String 引用比较 getStatus() != CONST 系统性改为值比较 !CONST.equals(getStatus())DB 反序列化的 String 与编译期常量非同一引用,!= 恒为 true → 状态永不等于「AVAILABLE」,但 scenic 与 vehicle 两处漏改

本次补齐三处守卫,使景区/车辆「可售判定」与「扣库存」恢复正确:

  • ScenicPriceCalendarService.isAvailable
  • VehiclePriceCalendarService.deductStock
  • VehiclePriceCalendarService.isAvailable

影响面: 修复前,景区/车辆即便价格日历状态为「可售」也会被判为不可售、车辆库存无法扣减(下单/可售校验侧表现为该日期不可用)。修复后行为恢复正常。

前端影响: 无。接口路径、出入参、响应结构均不变,仅内部判定逻辑纠正,前端无需改动。已部署测试服双实例8082/8182Nacos 注册 healthy,网关 9443 链路正常。


1. 变更明细(无接口契约变更)

文件 / 方法 旧(错误) 新(正确,对齐 service/staff 兄弟实现)
ScenicPriceCalendarService.isAvailable price.getStatus() != ScenicConstants.PRICE_STATUS_AVAILABLE !ScenicConstants.PRICE_STATUS_AVAILABLE.equals(price.getStatus())
VehiclePriceCalendarService.deductStock record.getStatus() != VehicleConstants.PRICE_STATUS_AVAILABLE !VehicleConstants.PRICE_STATUS_AVAILABLE.equals(record.getStatus())
VehiclePriceCalendarService.isAvailable record.getStatus() != VehicleConstants.PRICE_STATUS_AVAILABLE !VehicleConstants.PRICE_STATUS_AVAILABLE.equals(record.getStatus())

同类守卫在 hotel/activity/staff/service 五服务已于 PR #3957 修正,本次补齐 scenic/vehicle,全资源价格日历可售判定写法统一。