/** * 生成应用明细告警展示信息 * * @param applicationId 所属应用ID * @return 告警展示信息 */ public ApplicationDetailAlarmViewModel generateAlarmViewModel(String applicationId) { Date startDate = DateUtil.getTodayBeginDate(); Date endDate = new Date(); Application application = applicationRepository.findApplicationbyId(applicationId); int interval = application.getInterval().intValue(); ApplicationDetailAlarmViewModel applicationDetailAlarmViewModel = new ApplicationDetailAlarmViewModel(); // 获得健康度 SeverityLevel severityLevel = healthStaService.healthStaForCurrent(applicationId, interval); applicationDetailAlarmViewModel.setSeverityLevel(severityLevel); int criticalCount = alarmRepository.countCriticalByMonitorId(applicationId, startDate, endDate); Pageable pageable = new PageRequest(0, 10, Sort.Direction.DESC, "create_time"); Page<Alarm> alarmPage = alarmRepository.selectCriticalAlarmsByMonitorId( pageable, applicationId, startDate, endDate); Iterator<Alarm> alarmIterator = alarmPage.iterator(); while (alarmIterator.hasNext()) { applicationDetailAlarmViewModel.addAlarmInfo(alarmIterator.next().getMessage()); } applicationDetailAlarmViewModel.setCriticalCount(criticalCount); return applicationDetailAlarmViewModel; }