批量删除对讲群组

验证状态:已源码核验、未联调;适用基线:源码归纳 @ 2026-09-14

用途与场景

按群组 ID 批量删除对讲群组,并级联删除其成员绑定关系。本页是 http-delete-main-service-main-api-basedata-talk-group-removebyids-09b4eb67 的唯一操作正本。接口成功代表删除主操作完成;AudioBridge 房间销毁与设备 PTT 配置刷新由后端内部消息链异步联动。

使用位置

页面/功能 角色或空间分支
工作台多选删除确认 前端可见性要求 basedata-talk-group:delete 或 administrator

端点

DELETE /main-service/main-api/basedata/talk-group/removeByIds — 按群组 ID 批量删除对讲群组,并级联删除其成员绑定关系。

端点全量事实(参数、请求/响应字段、错误码、权限点)见清单层 basedata · talk-group 对讲组;业务语义(wire 惯例、限频、租户声明等)见基础数据业务 · talk-group 对讲组

动线与完成判据

层级 判据
业务成功 status=200 && data=true;Web 还要求非 softFail 且 data===true 才提示成功并刷新列表
房间销毁 不由本接口判定:ROOM_DESTROY 由 device 服务消费,要求群组已有"最新已删除"记录且 SFU 在线, 幂等;销毁结果由 5 分钟周期补偿收敛
设备配置刷新 pushPttConfig 正本 的内部链

错误与边界

  • ids 为空或单项违反长度/字符集校验适用请求校验;认证/权限适用认证失败/权限失败
  • 删除为软删除(MyBatis-Plus 逻辑删除语义,删除后 getLatestDeletedRoom... 仍可读到);重用同一 talkGroupId 再创建会被"含已删除"存在性检查拒绝(TalkGroupService.save)。
  • 无幂等键;重复删除已删除 ID 返回成功语义取决于 MyBatis-Plus 删除计数(未逐分支核验 data 值),App 不应依赖 data=false 区分"不存在"。

调用关系与资源清理

已知缺口

  1. 未执行真实 HTTP/数据库/JMS/Janus 联调;房间销毁的最终结果只核验到中心归档监听器分支。
  2. 重复删除与并发删除的 data 布尔语义未逐分支核验。