编辑对讲群组(含成员变更)

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

用途与场景

修改既有群组的基础字段(名称、简介、组织)并按 SAVE/UPDATE/REMOVE 变更集同步成员绑定。本页是 http-put-main-service-main-api-basedata-talk-group-updatebyidwithdataacquisitiondevices-d86f1d10 的唯一操作正本。接口成功只代表数据已更新;成员变动触发的设备 PTT 配置刷新由后端内部消息链异步完成。

使用位置

页面/功能 角色或空间分支
群组编辑器管理模式保存 前端可见性要求 basedata-talk-group:write 或 administrator

端点

PUT /main-service/main-api/basedata/talk-group/updateByIdWithDataAcquisitionDevices — 修改既有群组的基础字段(名称、简介、组织)并按 SAVE/UPDATE/REMOVE 变更集同步成员绑定。

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

动线与完成判据

层级 判据
业务成功 status=200 && data=true;Web 在 data!==true 时提示"Backend did not confirm the update"(为新建路径同型检查;管理模式由调用方消费 runAsync 结果)
绑定生效 全部 REMOVE/UPDATE 按对命中;data=false 时需重新读取关系确认
设备侧生效 不由本接口判定:配置刷新经内部消息链过滤 PTT 在线设备后下发,见 pushPttConfig 正本

错误与边界

  • 字段校验(operation 枚举、长度)适用请求校验;认证/权限适用认证失败/权限失败
  • 主更新与绑定同步在同一事务(@Transactional),抛错整体回滚;但 REMOVE/UPDATE 未命中不抛错,仅反映在 data=false
  • 重复 SAVE 同一设备的行为由数据库唯一约束决定;服务端入参已按设备去重,未核验并发重复插入分支(无幂等键)。
  • dataAcquisitionDevices=null(键缺失)时不动绑定;显式 [] 时清空该群组全部绑定——两种语义不同,App 不能混用。

调用关系与资源清理

已知缺口

  1. revision 字段为透传写回,未发现服务端乐观锁冲突检查;并发编辑的最终一致性未核验。
  2. 未执行真实 HTTP/数据库/JMS 联调;设备实际收到新配置的时间窗口未核验。