| | |
| | | |
| | | // 计算安全检查平均分 |
| | | double avgSafetyScore = results.stream() |
| | | .filter(e -> e.getScore() != null) |
| | | .filter(e -> e.getContainSystemRes() != null && e.getContainSystemRes().equals(Boolean.TRUE)) |
| | | .mapToDouble(EvalResult::getScore) |
| | | .average() |
| | | .orElse(0.0); |
| | |
| | | |
| | | // 计算设备检查平均分(需要解析 device_res_map) |
| | | List<Float> deviceScores = results.stream() |
| | | .filter(e -> StringUtils.hasText(e.getDeviceResMap())) |
| | | .filter(e -> e.getContainDeviceRes() != null && e.getContainDeviceRes().equals(Boolean.TRUE)) |
| | | .map(e -> calculateDeviceScore(e.getDeviceResMap())) |
| | | .filter(score -> score != null && score > 0) |
| | | .toList(); |