改用自建emqx
This commit is contained in:
@@ -14,9 +14,6 @@
|
||||
* **更新 (Update)**:
|
||||
* **谨慎引入**。主要考虑场景:对异常会话进行状态纠正(例如,系统未能自动更新的会话,管理员可手动标记为 `ERROR` 或 `CANCELLED_BY_SYSTEM`)。
|
||||
* 所有手动更新操作必须记录详细的操作审计日志(操作人、时间、原因、变更前后状态)。
|
||||
* **删除 (Delete)**:
|
||||
* **谨慎引入**。通常仅支持逻辑删除,用于隐藏无效或测试产生的会话数据。
|
||||
* 物理删除会话记录通常不推荐,以保证数据完整性和可追溯性。
|
||||
* **创建 (Create)**:
|
||||
* 管理员**不直接创建**充电会话。会话由用户通过前端发起,或由系统在特定业务流程中自动创建。
|
||||
|
||||
@@ -81,10 +78,6 @@
|
||||
* 更新会话状态、`update_time`。
|
||||
* 记录操作日志(可考虑引入操作日志表或利用现有日志框架)。
|
||||
* `adminUserId` 用于审计。
|
||||
* **Delete (删除)**:
|
||||
* `boolean adminMarkSessionAsDeleted(Long sessionId, Long adminUserId)`:
|
||||
* 逻辑删除,设置 `is_deleted = 1`。
|
||||
* 记录操作日志。
|
||||
|
||||
### 2.3. Controller 层 (`com.yupi.project.controller.ChargingSessionAdminController`)
|
||||
* `POST /api/admin/session/list/page`: (已存在,需审视是否需要修改请求体和响应体以满足 `ChargingSessionAdminQueryRequest` 和 `Page<ChargingSessionAdminVO>`)
|
||||
@@ -98,9 +91,6 @@
|
||||
* 调用 `chargingSessionService.adminUpdateSessionStatus(sessionId, newStatus, reason, adminUserId)`。
|
||||
* `adminUserId` 从当前登录用户上下文获取。
|
||||
* 权限: `@AuthCheck(mustRole = UserConstant.ADMIN_ROLE)`。
|
||||
* `DELETE /api/admin/session/{sessionId}`:
|
||||
* 调用 `chargingSessionService.adminMarkSessionAsDeleted(sessionId, adminUserId)`。
|
||||
* 权限: `@AuthCheck(mustRole = UserConstant.ADMIN_ROLE)`。
|
||||
|
||||
## 3. 前端实现 (`charging_web_app`)
|
||||
|
||||
@@ -128,7 +118,6 @@
|
||||
* **操作列**:
|
||||
* "详情"按钮:点击打开会话详情模态框。
|
||||
* "修改状态"按钮 (如果实现该功能):打开状态修改模态框。
|
||||
* "删除"按钮 (如果实现该功能):触发删除确认。
|
||||
* **查询筛选**:
|
||||
* 表单元素对应 `ChargingSessionAdminQueryRequest` 中的筛选字段。
|
||||
* "查询"按钮触发 API 请求,更新表格数据。
|
||||
@@ -139,9 +128,6 @@
|
||||
* **修改状态 (Modal)** (如果实现):
|
||||
* 表单包含可选的新状态和操作原因。
|
||||
* 提交时调用后端 `/api/admin/session/{sessionId}/status` 接口。
|
||||
* **删除会话** (如果实现):
|
||||
* 使用 `Popconfirm` 提示。
|
||||
* 确认后调用后端 `DELETE /api/admin/session/{sessionId}` 接口。
|
||||
|
||||
### 3.4. API 服务层
|
||||
* 在 `charging_web_app/src/services/` 目录下创建 `sessionAdminService.ts` (或类似名称)。
|
||||
@@ -149,13 +135,14 @@
|
||||
* `fetchAdminSessions(query: ChargingSessionAdminQueryRequest): Promise<BaseResponse<Page<ChargingSessionAdminVO>>>`
|
||||
* `fetchAdminSessionDetails(sessionId: number): Promise<BaseResponse<ChargingSessionAdminVO>>`
|
||||
* `updateAdminSessionStatus(sessionId: number, data: ChargingSessionAdminUpdateStatusRequest): Promise<BaseResponse<any>>`
|
||||
* `deleteAdminSession(sessionId: number): Promise<BaseResponse<any>>`
|
||||
|
||||
### 3.5. 状态管理 (React Context / Zustand / Redux Toolkit - 根据项目现有方式)
|
||||
* 管理会话列表数据、加载状态、错误信息。
|
||||
* 管理分页参数 (`current`, `pageSize`, `total`)。
|
||||
* 管理筛选表单的条件。
|
||||
* 管理模态框的显示/隐藏状态及当前操作的会话数据。
|
||||
* 状态更新操作的业务逻辑和数据一致性。
|
||||
* 并发操作下的数据准确性(如果适用)。
|
||||
|
||||
## 4. 数据库变更
|
||||
* 当前 `charging_session` 表结构基本满足需求。
|
||||
@@ -166,12 +153,12 @@
|
||||
* 各 API 接口的参数校验、权限控制。
|
||||
* 筛选条件(特别是组合条件和边界值)的正确性。
|
||||
* 分页和排序逻辑的正确性。
|
||||
* 状态更新和删除操作的业务逻辑和数据一致性。
|
||||
* 状态更新操作的业务逻辑和数据一致性。
|
||||
* 并发操作下的数据准确性(如果适用)。
|
||||
* **前端**:
|
||||
* 页面数据能否正确加载和展示。
|
||||
* 查询、分页、排序功能是否按预期工作。
|
||||
* 操作按钮(详情、修改、删除)的交互和功能是否正常。
|
||||
* 操作按钮(详情、修改状态)的交互和功能是否正常。
|
||||
* 表单校验和用户提示。
|
||||
* 不同屏幕尺寸下的响应式布局。
|
||||
* **整体**:
|
||||
|
||||
@@ -51,7 +51,7 @@ logging:
|
||||
# MQTT Configurations
|
||||
# ===================================================================
|
||||
mqtt:
|
||||
broker-url: tcp://broker.emqx.io:1883
|
||||
broker-url: tcp://yuyun-hk1.stormrain.cn:1883
|
||||
username: # Public broker, no credentials specified for connection
|
||||
password: # Public broker, no credentials specified for connection
|
||||
client-id-prefix: backend-yupi-mqtt-power- # Unique client ID prefix for our project
|
||||
|
||||
Reference in New Issue
Block a user