8.6 KiB
8.6 KiB
退役行程编辑历史接口——删除 edit-log/page 端点 + 7 个写接口响应删 editLogId 字段
端类型:管理后台 变更类型:删除接口(⚠️ 破坏性,前端需清理依赖) 涉及接口:
GET /v3/admin/order/{orderId}/itinerary/edit-log/page(已下线,调用返 404)POST /v3/admin/order/{orderId}/itinerary/days(响应删editLogId)PUT /v3/admin/order/{orderId}/itinerary/days/{dayId}(响应删editLogId)DELETE /v3/admin/order/{orderId}/itinerary/days/{dayId}(响应删editLogId)POST /v3/admin/order/{orderId}/itinerary/nodes(响应删editLogId)PUT /v3/admin/order/{orderId}/itinerary/nodes/{nodeId}(响应删editLogId)DELETE /v3/admin/order/{orderId}/itinerary/nodes/{nodeId}(响应删editLogId)POST /v3/admin/order/{orderId}/itinerary/save(响应删editLogIds数组)
① 接口背景
搭建期行程节点的单点编辑历史(order_itinerary_edit_log 表)已退役:搭建阶段的编辑操作不再留痕,后续调整记录改由「调整记录」(order_adjustment_record)承接(见 PR #4556)。本次退役操作包含:
- 下线「行程编辑历史分页」查询端点。
- 7 个行程写操作的响应 VO 删除
editLogId/editLogIds字段(原用于记录 Tab 跳转定位,不再有意义)。
② 变更清单
| 编号 | 类型 | 说明 |
|---|---|---|
| 1 | ⚠️ 删除接口 | GET /v3/admin/order/{orderId}/itinerary/edit-log/page 已下线,调用返 404 |
| 2 | ⚠️ 删除字段 | ItineraryDayRespVO 删除 editLogId(Long/String)字段 |
| 3 | ⚠️ 删除字段 | ItineraryNodeRespVO 删除 editLogId(Long/String)字段 |
| 4 | ⚠️ 删除字段 | ItinerarySaveRespVO 删除 editLogIds(Long 数组)字段 |
| 5 | 保留入参 | editReason 入参字段保留(后端接受但不再审计落库,不影响前端调用) |
③ 接口详情
已下线接口:GET /v3/admin/order/{orderId}/itinerary/edit-log/page
⚠️ 本接口已永久下线。调用时网关/服务返回 404 Not Found,不再响应任何请求。
| 项目 | 说明 |
|---|---|
| 方法 | GET(已下线) |
| 路径 | /v3/admin/order/{orderId}/itinerary/edit-log/page |
| 状态 | 已删除,请勿调用 |
保留接口(响应字段有变):行程写操作接口群
以下 7 个接口路径和方法不变,仅出参删字段:
| 方法 | 路径 | 接口名 | 删除字段 |
|---|---|---|---|
| POST | /v3/admin/order/{orderId}/itinerary/days |
新增行程天 | editLogId |
| PUT | /v3/admin/order/{orderId}/itinerary/days/{dayId} |
修改行程天 | editLogId |
| DELETE | /v3/admin/order/{orderId}/itinerary/days/{dayId} |
删除行程天 | editLogId |
| POST | /v3/admin/order/{orderId}/itinerary/nodes |
新增行程节点 | editLogId |
| PUT | /v3/admin/order/{orderId}/itinerary/nodes/{nodeId} |
修改行程节点 | editLogId |
| DELETE | /v3/admin/order/{orderId}/itinerary/nodes/{nodeId} |
删除行程节点 | editLogId |
| POST | /v3/admin/order/{orderId}/itinerary/save |
批量保存行程 | editLogIds(数组) |
④ 接口入参
7 个保留接口的入参无变化。editReason 字段仍可传(接受但不落库)。
⑤ 出参字段
ItineraryDayRespVO(删 editLogId)
以下字段已从新增/修改/删除行程天的响应中移除:
| 字段 | 原类型 | 变更 |
|---|---|---|
editLogId |
String(Long 序列化) | ⚠️ 已删除 |
其余字段(id / dayNumber / dayDate / theme / description / nodes[] / adjustmentId / createTime 等)不变。
ItineraryNodeRespVO(删 editLogId)
| 字段 | 原类型 | 变更 |
|---|---|---|
editLogId |
String(Long 序列化) | ⚠️ 已删除 |
其余字段不变。
ItinerarySaveRespVO(删 editLogIds)
| 字段 | 原类型 | 变更 |
|---|---|---|
editLogIds |
List<Long> | ⚠️ 已删除 |
现有出参字段(savedDayIds / savedNodeIds / deletedDayIds / deletedNodeIds)不变。
⑥ 枚举 / 数据字典
无新增枚举变更。
⑦ 错误码
| 接口 | code | message | 说明 |
|---|---|---|---|
| 已下线端点 | 404 | 接口不存在 | 调用旧路径返回此错误 |
⑧ 示例
8.1 典型成功——新增行程天响应(editLogId 已不存在)
请求
POST /v3/admin/order/7910000000001/itinerary/days
Authorization: Bearer <token>
Content-Type: application/json
{
"theme": "天池徒步",
"description": "长白山天池观景台",
"editReason": "补充行程细节"
}
响应(editLogId 字段已删除)
{
"code": 200,
"message": "success",
"data": {
"id": "8801234567890",
"dayNumber": 3,
"dayDate": "2026-08-03",
"theme": "天池徒步",
"description": "长白山天池观景台",
"nodes": [],
"adjustmentId": null,
"createTime": "2026-06-28T15:30:00"
}
}
注意:响应中不含
editLogId字段,原来前端读取的data.editLogId现在为undefined,请清理相关依赖。
8.2 边界情况——批量保存响应(editLogIds 已不存在)
请求
POST /v3/admin/order/7910000000001/itinerary/save
Authorization: Bearer <token>
Content-Type: application/json
{
"days": [ ... ]
}
响应(editLogIds 数组已删除)
{
"code": 200,
"message": "success",
"data": {
"savedDayIds": ["8801234567890"],
"savedNodeIds": ["8811234567890", "8811234567891"],
"deletedDayIds": [],
"deletedNodeIds": []
}
}
8.3 业务失败——调用已下线的旧路径
请求
GET /v3/admin/order/7910000000001/itinerary/edit-log/page
Authorization: Bearer <token>
响应(404,旧路径已删)
{
"code": 404,
"message": "接口不存在: GET /v3/admin/order/{id}/itinerary/edit-log/page",
"data": null
}
⑨ 业务边界
不适用:
- 旧的「行程编辑历史」分页功能已永久下线,无法通过任何方式恢复调用。
- 搭建期单点编辑操作不再审计留痕(若需调整记录,使用调整弹窗 submit,走「调整记录」接口 PR #4556)。
特殊边界:
editReason入参字段可以继续传(后端不报错),但值被忽略,不再写入任何审计表。前端无需改传参代码,但继续传入对服务端无实际效果。
⑩ 修改前后对比
接口变更
| 接口 | 修改前 | 修改后 |
|---|---|---|
GET .../itinerary/edit-log/page |
正常返回 PageResult<EditLogVO> | 已下线,返回 404 |
| 行程写操作 7 个接口 | 响应含 editLogId / editLogIds |
响应不含该字段 |
字段级对比
ItineraryDayRespVO / ItineraryNodeRespVO
| 字段 | 修改前 | 修改后 |
|---|---|---|
editLogId |
String,本次写入的 edit_log 主键 | ⚠️ 已删除,不存在 |
ItinerarySaveRespVO
| 字段 | 修改前 | 修改后 |
|---|---|---|
editLogIds |
List<Long>,本次产生的 edit_log id 列表 | ⚠️ 已删除,不存在 |
⑪ 影响评估 / 回滚
前端需做的改造:
- 删除对
GET .../itinerary/edit-log/page的调用及相关 UI(行程编辑历史列表)。 - 删除读取
data.editLogId的代码(行程天/节点写操作响应)。 - 删除读取
data.editLogIds的代码(批量保存行程响应)。
回滚方案: 本次是纯删除,字段/端点已从代码移除。若需回滚,需后端重新发版恢复,前端无单独回滚方案。建议前端同步本次上线部署后立即清理依赖,避免读 undefined 字段引发运行时错误。
⑫ 注意事项
- 旧路径 404:
edit-log/page已彻底下线,务必在本次联调前删除调用代码,否则页面会出现 404 请求错误。 - editLogId 变 undefined:行程写操作响应不再包含
editLogId,若前端曾用此值做「记录 Tab 跳转定位」,该功能需同步下线或改用时间线接口。 - editLogIds 变 undefined:批量保存响应中
editLogIds数组已删,若前端有读取逻辑需一并清理。 - editReason 入参可保留:入参字段
editReason仍可传(后端不报错),不强制移除,但其值不再产生任何审计记录。