From 138f99221ffc43ac6c5d9c31dbe8d641749c51f0 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Sat, 16 May 2026 13:19:15 +0800 Subject: [PATCH] docs: fix product_fee_item.name 128->512 (#2411, PR #2412) --- ...fix_product_fee_item_name_extend_to_512.md | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 changelogs/2026-05/16_fix_product_fee_item_name_extend_to_512.md diff --git a/changelogs/2026-05/16_fix_product_fee_item_name_extend_to_512.md b/changelogs/2026-05/16_fix_product_fee_item_name_extend_to_512.md new file mode 100644 index 0000000..bfc1b19 --- /dev/null +++ b/changelogs/2026-05/16_fix_product_fee_item_name_extend_to_512.md @@ -0,0 +1,74 @@ +# 产品 step5 提交报「字段【name】内容过长」修复 + +> **服务**: hl-product-service-v2 (端口 8083) +> **PR**: #2412 +> **Issue**: #2411 +> **日期**: 2026-05-16 +> **影响范围**: 产品编辑 step5「补充信息」提交审核 + +--- + +## 一、背景 + +正式环境 admin.1814.love 产品编辑页点「提交审核」时弹出: + +> 字段【name】内容过长,请删减后重试 + +实测复现产品 ID `2055092537149804545`(一次把呼伦贝尔玩进童年的亲子旅行)。 + +**根因**: `product_fee_item.name` 列原定义 `VARCHAR(128)`。线上已有产品该列最长值 106 字符(「游玩项目」类列表型费用项,串联多个景点名),用户在 step5 再追加一两个景点名即破 128,触发 MySQL `Data too long for column 'name'`。 + +--- + +## 二、变更接口清单 + +| # | 接口 | 方法 | 路径 | 变更类型 | 说明 | +|---|------|------|------|----------|------| +| 1 | step5 补充信息保存 | POST | `/admin/product/{id}/supplement` | DB 列长度扩容 | name 字段从 128→512 字符 | + +接口契约**完全不变**,只是底层存储不再因字符过长失败。前端无需任何代码改动。 + +--- + +## 三、数据库变更 + +```sql +ALTER TABLE `product_fee_item` + MODIFY COLUMN `name` VARCHAR(512) DEFAULT NULL COMMENT '名称'; +``` + +- 正式 RDS 已于 2026-05-16 13:13 手动 ALTER 生效(用户授权) +- 测试服: 下次部署跑 Flyway `V20260516_001` 自动生效(幂等) +- dev: schema.sql 第 288 行同步更新 + +--- + +## 四、边界行为 + +- 接口层(VO)**无字符长度校验**,前端只要 payload 合法,后端不会再因 name 长度报错 +- 原本已经存进 DB 的 ≤128 字符行不受影响 + +--- + +## 五、不影响范围 + +- **仅影响**: 管理后台产品编辑 step5 费用项 name 字段写入 +- **零影响**: + - 任何 C 端接口 + - 订单 / 商家 / 资源服务 + - step1-step4 任何字段 + - product_fee_item 其它列(description / unit_price 等) + +--- + +## 六、测试环境验证(待回归) + +- [x] 正式 RDS `DESC product_fee_item` 验证 name 列已是 `varchar(512)` +- [ ] 测试服部署完后,复现产品 step5 提交不再报「字段【name】内容过长」(由 mmg 部署后回归) + +--- + +## 七、相关文档 + +- 关联 Issue: [wx/HL#2411](https://git.1814.love:8443/wx/HL/issues/2411) +- 关联 PR: [wx/HL#2412](https://git.1814.love:8443/wx/HL/pulls/2412)