# 修复:资源「申请下架」HTTP 503 错误(ProductFeignClient 服务名遗漏改名) **类型**: 后端 BUG 修复 **关联**: 工单 #1553 / PR #1554 / Release PR #1555 **日期**: 2026-04-30 **影响范围**: 所有资源(酒店/景点/活动/餐厅/车辆/服务/备品/员工/成本/房型) 的「申请下架」功能,及产品审批通过/驳回回调链路 --- ## 现象 正式 + 测试环境管理后台对任意酒店点「申请下架」均报: ``` 服务暂时不可用,请稍后重试 (HTTP 503) ``` 后端日志: ``` WARN GlobalExceptionHandler - Feign call failed: status=503, [ProductFeignClient#checkResourceInUse(...)]: [Load balancer does not contain an instance for the service hl-product-service] ``` ## 根因 正式 + 测试 Nacos 实际注册的产品服务名是 **`hl-product-service-v2`**(v1→v2 重命名后)。但仓库里 2 个 FeignClient 仍写旧名 `hl-product-service`(重命名时遗漏),Feign 解析失败 → 503。 ### 影响清单 | 文件 | 错处 | 用途 | |------|------|------| | `hl-resource-service/.../ProductFeignClient.java:10` | `name="hl-product-service"` | 资源申请下架时检查产品占用 | | `hl-common-feign/.../ProductApprovalFeignClient.java:9` | 同上 | 产品审批通过后回调推送给 product-service | 参照对比仓库其他模块均已用对的名: - `hl-order-service-v2/.../ProductFeignClient.java`:`hl-product-service-v2` ✅ - `hl-mp-service/.../MpProductFeignClient.java`:`hl-product-service-v2` ✅ - `hl-mp-service/.../MpProductV2FeignClient.java`:`hl-product-service-v2` ✅ ### 间接影响(隐藏更久) `ProductApprovalFeignClient.handleApprovalResult` 是企微审批通过后回调通知 product-service 处理产品 status 变更的链路。它的 fallback factory 直接吞错返回 `Result.error`(不抛异常),业务侧不感知。所以这条链路实际坏了一段时间,产品上架/下架审批通过后 status 可能没真更新,本次顺手一起修了。 ## 修复 2 个文件 2 行,统一改为 `name = "hl-product-service-v2"`,与同仓其他模块对齐。 ## 修复后行为 ### 测试服 round-trip ``` hotelId=3001000000000000001 海拉尔洲季酒店 申请下架 (targetStatus=0) → code=200, spNo=202604300006 ``` ### 正式部署 - ✅ Image tag `c598641e` (main HEAD) - ✅ 4 个 Pod (user×2 + resource×2) 全部 Running 1/1 - ✅ 启动日志无 ERROR/Exception/FATAL - ✅ Gateway → resource API 200 ## 前端处理 **零影响**。前端无须改动。 ## 部署状态 - ✅ PR #1554 合并到 dev (sha 11672364) - ✅ Release PR #1555 合并到 main (sha c598641e) - ✅ 测试服 hl-resource-service + hl-user-service 滚动重启 + round-trip 通过 - ✅ 正式环境 K8s deploy 滚动更新完成 (deploy panel #50 + #51)