docs: fix product_fee_item.name 128->512 (#2411, PR #2412)

这个提交包含在:
API Changelog Bot 2026-05-16 13:19:15 +08:00
父节点 d7be5c267e
当前提交 138f99221f

查看文件

@ -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)