1.1 KiB
1.1 KiB
接口使用提醒 — 2026-04-13
问题:保存行程/路线/补充信息时报"数据已被其他人修改" 原因:version版本号不匹配
version版本号使用规则
每次保存操作都会让version+1。前端必须始终使用最新的version。
正确流程
1. 创建产品(POST /admin/product/item/basic,不传version)
→ 返回 productId
→ 此时数据库 version=1(创建+保存基础信息各+1)
2. 获取详情(GET /admin/product/item/{id})
→ 拿到最新 version(如1)
3. 保存行程(PUT /admin/product/item/{id}/itinerary)
→ 传 version=1(从详情拿到的)
→ 成功后 version 变成 2
4. 保存路线(PUT /admin/product/item/{id}/route)
→ 传 version=2
→ 成功后 version 变成 3
5. 以此类推...
关键点
- 每次保存前先获取详情拿最新version,或者保存成功后前端本地version+1
- 不能固定传version=0,那是创建时的初始值,创建完就变了
- 版本冲突时前端应提示用户刷新页面重新编辑