整理控制台接口验收后的业务注释
明确独立状态及毫秒时间边界,修正查询与物理删除职责说明。
| | |
| | | import java.util.Map; |
| | | import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; |
| | | |
| | | /** 提供测试控制台的双状态实时事实与鉴权 SSE。 */ |
| | | /** 分别提供测试、接收及设备实时事实与鉴权 SSE。 */ |
| | | public interface ITestLiveService |
| | | { |
| | | /** 返回指定测试及其绑定来源的最新设备、接收和测试状态。 */ |
| | |
| | | |
| | | /** 打开实时 SSE;连接初次发送当前事实,后续只推送最新快照。 */ |
| | | SseEmitter stream(Long testId); |
| | | /** 当前观测快照;updatedAt 为毫秒时间戳,不代表历史数据已完整接收。 */ |
| | | record LiveState(Long testId, String testStatus, String receptionStatus, long updatedAt, |
| | | List<LiveSource> sources, List<Map<String, Object>> exceptions, TestPlanSnapshot testPlan) |
| | | { |
| | |
| | | { |
| | | Map<String, Object> value = new LinkedHashMap<>(); |
| | | value.put("source", "采集器"); value.put("sampleIntervalMs", collector.sampleIntervalMs()); |
| | | // 在业务响应边界转换毫秒时间,设备时间与服务器接收时间分别保留。 |
| | | value.put("measurements", collector.latestMeasurements().stream().map(item -> { |
| | | Map<String, Object> measurement = new LinkedHashMap<>(); |
| | | measurement.put("metricCode", item.metricCode()); |
| | |
| | | return rows; |
| | | } |
| | | |
| | | /** 将最新人工覆盖应用到设备事实,删除只影响当前有效视图,不抹除原始采样。 */ |
| | | /** 合并既有导入记录和人工修订供当前有效数据查询;不在此处执行物理删除。 */ |
| | | private List<Map<String, Object>> applyEffectiveData(Long testId, String dataType, |
| | | List<Map<String, Object>> source) |
| | | { |