docs(resource): 额外成本状态开关 404 已修 (PR #1479, 前端零改动验收即可)
这个提交包含在:
父节点
82e204b058
当前提交
20015f5926
@ -0,0 +1,85 @@
|
|||||||
|
# fix: 额外成本状态开关 404 已修复
|
||||||
|
|
||||||
|
**日期**: 2026-04-27
|
||||||
|
**PR**: #1479 (Closes #1477)
|
||||||
|
**类型**: BUG 修复 — **前端零改动**, 自动生效
|
||||||
|
**影响端**: 管理后台 (admin) — 额外成本管理页
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 修复内容
|
||||||
|
|
||||||
|
### 之前的问题
|
||||||
|
|
||||||
|
蒋雨莲 (橙子) SUPER_ADMIN 在「额外成本」管理页点**状态开关**, 顶部弹红色 toast:
|
||||||
|
|
||||||
|
```
|
||||||
|
接口不存在: PUT /admin/cost/item/{id}/status
|
||||||
|
```
|
||||||
|
|
||||||
|
(其他 9 个资源模块 — 景区/酒店/车辆/餐厅/物资/服务人员/活动/服务项/客房 — 状态开关都正常, **只有额外成本(cost-item)报错**。)
|
||||||
|
|
||||||
|
### 根因
|
||||||
|
|
||||||
|
后端 `CostItemController` **历史遗留漏写** `PUT /admin/cost/item/{id}/status` 端点。前端 `useStatusApproval` hook 双轨设计 (超管直更 / 非超管走审批) 中, 9/10 模块的超管端点都已实现, 唯独 cost 漏掉。
|
||||||
|
|
||||||
|
### 修复
|
||||||
|
|
||||||
|
后端补齐 `PUT /admin/cost/item/{id}/status`:
|
||||||
|
|
||||||
|
```
|
||||||
|
PUT /admin/cost/item/{costId}/status
|
||||||
|
Body: {"status": 0 | 1}
|
||||||
|
Response: {"code": 200, "message": "成功", "data": null}
|
||||||
|
```
|
||||||
|
|
||||||
|
校验:
|
||||||
|
- 必须 SUPER_ADMIN 身份, 否则 400 (前端 useStatusApproval 已经在做角色判断, 一般触不到这个错)
|
||||||
|
- status 必须 0 或 1, 否则 400 (`@NotNull`/`@Min(0)`/`@Max(1)`)
|
||||||
|
- 费用项不存在 → 404 「费用项不存在」
|
||||||
|
- 费用项审批中 → 400 「审批中, 不可修改状态」 (沿用其他模块审批拦截)
|
||||||
|
|
||||||
|
## 前端动作
|
||||||
|
|
||||||
|
### 必须 ✅
|
||||||
|
|
||||||
|
**无**。`hl-ui` 中 `extraCharge.js:58 updateCostItemStatus` 调用方式不变, 后端补齐端点后自动工作, 无需改前端代码。
|
||||||
|
|
||||||
|
### 验收 ✅
|
||||||
|
|
||||||
|
在测试服管理后台:
|
||||||
|
1. 用 SUPER_ADMIN 账号登录
|
||||||
|
2. 进「额外成本」管理页
|
||||||
|
3. 点任意一行的状态开关
|
||||||
|
4. 应**立即切换** (修前会弹「接口不存在」红 toast)
|
||||||
|
|
||||||
|
测试服已部署完成 (deploy_id `b747855d`, 2026-04-27 16:40)。
|
||||||
|
|
||||||
|
## 参考路径
|
||||||
|
|
||||||
|
| 端 | 文件 | 行 |
|
||||||
|
|---|---|---|
|
||||||
|
| 前端 API | `hl-ui/src/api/extraCharge.js` | 58 `updateCostItemStatus` |
|
||||||
|
| 前端管理页 | `hl-ui/src/views/resource/extra-charge/index.vue` | 153 状态开关 onChange |
|
||||||
|
| 前端 hook | `hl-ui/src/composables/useStatusApproval.js` | 50 双轨判断 |
|
||||||
|
| 后端 (新) | `hl-resource-service/.../cost/controller/CostItemController.java` | PUT /item/{id}/status |
|
||||||
|
|
||||||
|
## 兄弟模块完整清单(对照)
|
||||||
|
|
||||||
|
| 模块 | path | 后端实现 |
|
||||||
|
|---|---|---|
|
||||||
|
| **cost-item** | PUT /admin/cost/item/{id}/status | ✅ 本 PR 新加 |
|
||||||
|
| scenic | PUT /admin/scenic/spot/{id}/status | ✅ 早已有 |
|
||||||
|
| hotel | PUT /admin/hotel/item/{id}/status | ✅ 早已有 |
|
||||||
|
| hotel/RoomType | PUT /admin/hotel/room-type/{id}/status | ✅ 早已有 |
|
||||||
|
| vehicle | PUT /admin/vehicle/model/{id}/status | ✅ 早已有 |
|
||||||
|
| restaurant | PUT /admin/restaurant/item/{id}/status | ✅ 早已有 |
|
||||||
|
| supplies | PUT /admin/supplies/item/{id}/status | ✅ 早已有 |
|
||||||
|
| staff | PUT /admin/staff/{id}/status | ✅ 早已有 |
|
||||||
|
| activity | PUT /admin/activity/item/{id}/status | ✅ 早已有 |
|
||||||
|
| serviceItem | PUT /admin/service/item/{id}/status | ✅ 早已有 |
|
||||||
|
|
||||||
|
## 关联
|
||||||
|
|
||||||
|
- 反馈人: 蒋雨莲 (橙子) 2026-04-27
|
||||||
|
- 后端 changelog: `hl-backend-changelog/changelogs/2026-04/2026-04-27_resource_cost-item-status-endpoint.md`
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户