2026年07月20日
内容截止日: 2026年07月26日
本周工作计划与执行完成进度
中心服务平台 - 功能完善
- 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
以往已完成的工作不再重复,详情请查看上周及上月报告- 〔工作量〕es-center-server-services 94 次(设计 34 · 代码 60)· 代码 +7.5k/-3.0k | es-center-server-web-app 69 次(设计 21 · 代码 48)· 代码 +4.9k/-2.3k | es-center-server-build 2 次 · 代码 +0.1k
- 〔方法论〕审查发现先裁决再整改 | 缓存按阶段设计、验证与实施 | 对讲前后端先约定合同 | ADR 与改码前必查清单
- 7-20 ~ 7-21: post-0619 审查整改
- ✅ 后端完成 post-0619(6 月 19 日后)审查整改,公共查询与消息规则统一 〔es-center-server-services〕
审查建立 post-0619 全量审查报告骨架和覆盖台账。review-unit(可独立核对的审查单元)约定输入、证据与失败恢复方式,逐项记录已覆盖路径、确认问题和待处理项。设计将确认问题拆成有顺序的处理阶段;保留关系复合写入的布尔聚合与部分成功边界,不把返回 false 自动解释为事务回滚。审查整改方案、分阶段计划和会话记录同步整理,code review 报告统一归档到 .ai/review/code。重构查询限流集中到 query limit policies 和 QueryLimits:device、platform 及各 Controller 共用单次返回条数与分页上限策略,保持原默认值和边界。重构MQTT(发布订阅消息协议)的文本消息统一送入 IoT JMS(服务间消息通知)字符串入口;模拟 PTT(按住讲话)retrieve(配置获取请求)也改走文本,不再记录完整消息载荷。重构统一布尔值归一化,将稳定默认值移出 nacos(配置中心);admin 登录固定到 default(默认)租户,普通用户的租户选择逻辑保留。审查核对 Janus(对讲的底层音视频网关)路由与设备标识。重构简化空值检查,让 IoT client id 只解析一次;重试仍使用完整原始标识。实施接受非 UUID nonce(一次性随机校验值)。测试锁定标量路由合同。重构关系查询增加显式 soft-delete(逻辑删除)开关;仅 removal 路径包含已删除关系,保存与更新继续查询活动关系。TalkGroup(对讲群组)分页返回类型同步统一。
- ✅ 前端按审计发现整改群组边界与界面结构 〔es-center-server-web-app〕
设计修订 6-19 后审计计划,记录 post-audit 整改方案和分项计划;同步审查报告、执行记录与产物路径。重构device-list-cleanup 分支合并完成,删除未使用设备列表组件。审查保留审查整改的对应记录。重构对讲群组端点集中到 API 层,设备—群组关系校验移到边界;编辑器与状态模块复用关系摘要,关系载荷、权限判断及候选结果组件同步整理。实施对话框按钮组与图标按钮用法统一,尊重减少动画设置;可选 Janus 编号的校验提示拆开,静默请求错误补上抑制重复日志的说明。
- ✅ 后端完成 post-0619(6 月 19 日后)审查整改,公共查询与消息规则统一 〔es-center-server-services〕
- 7-21 ~ 7-24: 前端在线状态与保存防重
- ✅ 工作台和绑定界面接入同一份在线状态 〔es-center-server-web-app〕
设计对讲在线状态改由 MQTT 查询,去掉集中注册与引用计数,即不再按使用方数量维护额外登记层;注册作用域与实施输入随后澄清。实施建立在线状态 store(集中存放界面状态的对象)及查询协调器;工作台、反向绑定和绑定设备三处接入状态解析,随后合并该实施分支。
- ✅ 群组保存增加防重入,替代提交节流 〔es-center-server-web-app〕
设计明确 talkgroup 提交防重入 guard(防止重复提交的守卫),形成设计与计划;移除 Janus/talkgroup 原有提交节流,即限制提交频率的处理。实施保存期间拦住再次提交,连点保存不再重复发送。
- ✅ 工作台和绑定界面接入同一份在线状态 〔es-center-server-web-app〕
- 7-21 ~ 7-24: 设备列表缓存
- ✅ 静态查询、完整静态缓存和动态批量组装完成 〔es-center-server-services〕
设计先定位列表中逐设备查询的问题,再选择「静态查询 + 服务器/固件批量详情」方案。将查询基础、缓存服务和动态字段组装分阶段实施,固定租户、数据权限、排序、复制与回滚约束。设计云端验收及发布/回滚预案先写进计划;门禁脚本按语义位置检查,不依赖易漂移的行号。静态缓存职责收回现有设备服务,避免另建重复查询边界。实施阶段一新增设备列表静态查询、采集服务器批量详情和固件批量详情;阶段二缓存完整静态列表,并批量 enrichment(补齐关联详情)。动态状态随后批量组装,保持列表排序、默认上限与返回对象复制。测试7-22 ~ 7-23,核对查询、空入参、批量边界与缓存不受返回对象修改影响的合同;修正 phase 2 静态审查门禁,让测试类历史名称与新增调用点不再误报。
- 📌 对讲架构讨论与缓存性能审查已有记录 〔es-center-server-services〕
评审在 grilling(逐条追问的设计评审)中梳理在线状态、PTT 配置、房间生命周期与 Janus 路由;记录缓存性能审查,重组对讲架构 issue 编号并扩写 spec 合同。
- ✅ 静态查询、完整静态缓存和动态批量组装完成 〔es-center-server-services〕
- 7-21 ~ 7-24: 前端房间与回放
- ✅ 房间数据入口统一,断连与恢复行为完成调整 〔es-center-server-web-app〕
设计room(对讲房间)唯一 HTTP 入口定为 getByTalkGroupId;明确 participant(房间参与者)身份和生命周期,新增三份实现计划。Web 对讲细化设计与 ADR 0003-0006 记录有界重试、RoomPIN、入房前确保房间存在和成员列表的约定。实施房间元数据加载、复用与稳定化完成:复用进行中的请求,复用范围限于本次路由进入,数据绑定到所请求群组;加载失败显式显示错误。参与者改从 Janus 获取,刷新状态增加守卫。实施房间生命周期按四项边界处理:MQTT 断连 fail-fast(立即失败,不排队等待)、房间可用性裁决、中断恢复、清理时保留 Janus 目标。离房取消等待,连接或房间失败后停止加载和刷新。实施修复迟到事件、参与者广播与 Janus 应答路由的异常和竞态。设计成员同步方案由增量合并改用 Janus snapshots(完整快照),并细化失败恢复设计;本周修订的是 spec、ADR 与实施事项,快照方案仍是设计进展。
- ✅ 回放页拆成组件,补齐播放器与文件卡片 〔es-center-server-web-app〕
实施playback(回放页)路由拆开布局、时间轴、文件列表、地图和控制区,并内联图标;补齐 player-2 组件族,新增 box-2 文件卡片与 route-last 路由组件。设计回放拆分随附的 ADR 记录 talking indicator(正在讲话提示)延后处理。
- ✅ 房间数据入口统一,断连与恢复行为完成调整 〔es-center-server-web-app〕
- 7-23 ~ 7-25: 后端在线状态与房间补偿
- ✅ 后端区分两类对讲客户端状态,PTT 下发完整配置 〔es-center-server-services〕
设计在线状态按 PTT/SFU(音视频转发服务器)客户端类型区分;同时约定 room PIN(进房密码)和 PTT 房间操作前的 SFU 校验。实施在线状态按类型批量读取并使用缓存,空白账号直接归为离线,预置 SFU 客户端常量。实施PTT 配置保留数据库顺序,canSpeak 统一格式,空快照也强制下发,用于清除设备旧配置。重构移除 JetCache(缓存框架)在线状态读写的冗余异常兜底;锁定旧版缓存键的兼容读取合同,普通设备入口继续读取历史状态键。实施TalkGroup 更新禁止改动创建后不可变字段,存在性校验覆盖跨租户及软删除记录。
- ✅ 房间补偿改为分页增量,并增加每日销毁补偿 〔es-center-server-services〕
实施房间操作前核对 SFU 在线状态;活动房间补偿采用分页增量与周期调度,已删除房间每日补偿销毁。调度时区改用服务器/JVM 默认时区。测试完成后端预验收,记录待人工签署清单;新增本地构建脚本,便于重复验证。预验收保持其原有边界。
- ✅ 后端区分两类对讲客户端状态,PTT 下发完整配置 〔es-center-server-services〕
- 7-24 ~ 7-26(含 7-26 周日): 编码规范与回归修复
- ✅ 编码规范改组为 ADR 与必查清单,简化重构完成 〔es-center-server-services〕
设计将散落工程规则整理为 ADR(架构决策记录)与改码前必查清单;完善编码规范及体验改进提示词,修正缓存 ADR,记录允许并存的实现方式与既有缓存不为形式统一而迁移的偏好。重构移除重复参数校验、统一判空,改用 Java 原生集合构造器;群组设备关系的批量校验、事务与结果语义下沉到服务层。重构抽取在线状态批量查询组件,统一查询复用、去重与分批;简化缓存读取,让空结果和缺失键沿用离线默认值。重构整理角色/用户组/租户 ID 集合构造、内存分页范围、Janus topic(消息主题)空值归一化与自定义日期区间,保留各自原有边界和回退行为。
- ✅ 回归审查完成复核,确认问题按独立修复方案处理 〔es-center-server-services〕
审查建立回归审查提示词、报告与复核工作流脚本;对初审逐项核对证据、修正误报,再将回归问题拆成独立 repair session prompts(修复会话提示词)。实施明确公开保存未抛异常即视为完成;统一个人空间查询限流,强制 Janus 编号先持久化且创建后不变。
- 📌 Janus 会话兼容与 room PIN 合同继续推进 〔es-center-server-services〕
实施恢复 Janus session 兼容,同时接受数字和字符串形式的 session_id/handle_id(会话与句柄标识);管理密钥 fallback(本地兜底范围)收窄为仅数据库未配置时使用本地 secret,不再吞掉查询异常。设计形成群组详情返回 room pin 的设计,返回字段仍待实施;新增 ADR-0008,并统一 roomPin/roomSecret 的边界。
- ✅ 编码规范改组为 ADR 与必查清单,简化重构完成 〔es-center-server-services〕
- 7-20 ~ 7-24: 构建环境与发布物
- ✅ 构建基座与目标发布流程同步调整 〔es-center-server-build〕
实施Web 基座升级到 Node 26.5.0,显式批准必要的原生构建脚本后重装依赖;同步基础镜像入口,迁移一个 CA 发布目标,暂时停用 APK 上传与部分镜像分发。实施Web 与后端分别选择长期协作分支,生成 07-22 发布物并同步四个正式目标引用;为测试目标新增构建、传输、加载和 Compose 重启的手工流程。
- ✅ 后端执行记录与本地工作环境完成整理 〔es-center-server-services〕
设计后端整理本地 Markdown 工单、分诊标签、领域文档与 Agent 工作流入口;会话日志按审查、设计与实施阶段对应。重构开发日志、数据同步和 SFTP 路径统一到 /tmp,精简重复配置与编辑器扩展。
- ✅ 前端工作流与报告入口同步整理 〔es-center-server-web-app〕
设计更新 Agent skills 工作流、prompt 跟踪和审查产物路径,移除废弃模板,保留本周设计、整改和实施的可追溯记录。
- ✅ 构建基座与目标发布流程同步调整 〔es-center-server-build〕
其它工作
- 目标: 记录日常杂项工作、协作沟通等事务
- 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
- 📌 以往已自测工作不再重复,详情请查看上周及上月报告
- 20 日
- ✅
协作git → svn 源代码同步
- ✅
- 23 日
- ✅
排障KH3980(印度客户执法仪): 排查切换租户后异常(前后端版本不一致)并部署新版;回放改英文版并部署;协助排查回放地图问题
- ✅
- 24 日
- ✅
排障KH3980: 回退部署为旧版,避免上线未经系统化测试的新版本
- ✅
- 25 日
- ✅
排障KH3980: 处理线上问题——客户误删数据后重启无法登录,定位为 bmc 程序与本程序重启时相互抢资源,本项目 postgresql 未抢占成功导致启动失败
- ✅
Last updated on