Feature #1257
進行中[Branch後台] 增加充電群組設定功能
0%
是由 陳國瑋 於 約 2 個月 前更新
=== 交棒給 Ryan(前端實作)===
■ 實作分支:feature/redmine-1257-charge-group-api-private
■ 測試環境:http://kh.sylksoft.com:18081(已部署最新版本)
■ 已完成的後端 API:
Charge Group CRUD:
- GET /api/charge-group/list (列表)
- GET /api/charge-group/info/{id} (單筆)
- POST /api/charge-group/upsert (新增/更新同一支)
- DELETE /api/charge-group/delete/{id} (刪除,已實作保護不可刪除已使用的 group)
Connector.chargeGroup 驗證:
- POST /api/connector/create:chargeGroup 必填,未帶回 400
- POST /api/connector/update:省略 chargeGroup 欄位會保留原值
- GET /api/common/options/charge_group(下拉選單用)
是由 陳國瑋 於 約 2 個月 前更新
■ 前端實作重點(Ryan 請注意):
-
ChargeGroupDto 格式(POST/PUT body):
{
"id": "CG001",
"contractCapacity": 99.0,
"allocatedPower": 50.0
}
=> id 在建立時填寫,更新時不需帶
=> rotationCycleActive、reservedSlots 等為唯讀,請勿放進編輯表單 -
刪除保護:刪除前建議顯示「已有 N 個 connector 掛在此 group」的提示
若強行刪除,API 會回 HTTP 400 -
Connector.update 時 chargeGroup 行為:
=> 若使用者沒改 chargeGroup,前端不用帶 chargeGroup 欄位,後端保留原值
=> 若有改,帶新值送出即可 -
請記得 Authorization header,API 需登入 ADMIN 權限
■ 已通過 E2E 測試(共 15 條全數通過)
詳細內容與 API 文件請見 GitLab MR。
是由 陳國瑋 於 約 2 個月 前更新
【更正/補充說明 - Ryan 請一併閱讀】
■ 新增一支 API:
GET /api/charge-group/connector-count/{id}
=> 回傳格式:{"chargeGroupId": "CG001", "connectorCount": 3}
=> 用途:刪除前顯示「已有 N 個 Connector 掛在此 group」的提示
=> 不存在的 CG 回 404
■ 完整 API 列表(修正版):
| 功能 | API 路徑 | Method |
|---|---|---|
| 查詢列表 | /api/charge-group/list | GET |
| 查詢單筆 | /api/charge-group/info/{id} | GET |
| 新增/更新 | /api/charge-group/upsert | POST |
| 刪除 | /api/charge-group/delete/{id} | DELETE |
| 查詢使用中數量 | /api/charge-group/connector-count/{id} | GET |
■ 修正說明:
前次回覆描述的 API ID(A1210~A1214)與實際 Controller 路由不符,正確對照如下:
A1215 = /api/charge-group/list(GET)
A1212 = /api/charge-group/info/(GET)
A1216 = /api/charge-group/upsert(POST)
A1214 = /api/charge-group/delete/(DELETE)
A1217 = /api/charge-group/connector-count/*(GET)← 新增
patch SQL 已同步修正。