From 146322a3e1d6afc5a2f96602c02423861c715a17 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Thu, 30 Apr 2026 11:37:52 +0800 Subject: [PATCH] =?UTF-8?q?fix(feign):=20ProductFeignClient=20=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=90=8D=E4=BF=AE=E6=AD=A3=20hl-product-service-v2=20?= =?UTF-8?q?(#1553=20/=20PR=20#1554)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../30_fix_feign_product-service-v2-rename.md | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 changelogs/2026-04/30_fix_feign_product-service-v2-rename.md diff --git a/changelogs/2026-04/30_fix_feign_product-service-v2-rename.md b/changelogs/2026-04/30_fix_feign_product-service-v2-rename.md new file mode 100644 index 0000000..dabb5fa --- /dev/null +++ b/changelogs/2026-04/30_fix_feign_product-service-v2-rename.md @@ -0,0 +1,73 @@ +# 修复:资源「申请下架」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)