diff options
| author | shizhendong <[email protected]> | 2023-11-29 17:07:52 +0800 |
|---|---|---|
| committer | shizhendong <[email protected]> | 2023-11-29 17:07:52 +0800 |
| commit | 5d8eaf584da3af12808584530850db2cc489fb22 (patch) | |
| tree | 4275891480c362a3debc1c3f11cc01971573ff62 | |
| parent | c6d59c08a7019f53abc5c0a80f173eb751c2b871 (diff) | |
fix: 当 state = active | silence 时,duration = 当前服务器时间(result.time)- startAtrel-23.07.12dev-3.8
| -rw-r--r-- | nz-admin/src/main/java/com/nis/modules/alert/service/impl/AlertHandlerServiceImpl.java | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/nz-admin/src/main/java/com/nis/modules/alert/service/impl/AlertHandlerServiceImpl.java b/nz-admin/src/main/java/com/nis/modules/alert/service/impl/AlertHandlerServiceImpl.java index 80878b22..62413d12 100644 --- a/nz-admin/src/main/java/com/nis/modules/alert/service/impl/AlertHandlerServiceImpl.java +++ b/nz-admin/src/main/java/com/nis/modules/alert/service/impl/AlertHandlerServiceImpl.java @@ -2,6 +2,7 @@ package com.nis.modules.alert.service.impl; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUnit; +import cn.hutool.core.net.URLDecoder; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.log.Log; @@ -44,6 +45,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.nio.charset.Charset; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; @@ -558,7 +560,13 @@ public class AlertHandlerServiceImpl implements AlertHandlerService { PageUtils page = fullTextSearchService.queryAlertMessageFullTextPage(params); List<AlertMessageEntity> list = (List<AlertMessageEntity>) page.getList(); - List<List<String>> exportDataList = this.handleExportDataList(list); + String queryBodyJsonStr = (String) params.get("body"); + queryBodyJsonStr = URLDecoder.decode(queryBodyJsonStr, Charset.forName("UTF-8")); + + Map queryBody = JSONUtil.toBean(queryBodyJsonStr, HashMap.class); + String alertState = Tool.MapUtil.getStr(queryBody, "state", "1"); + + List<List<String>> exportDataList = this.handleExportDataList(list, alertState); String sysHeaderJsonStr = sysConfigService.getValue("alert_export_header"); String fileName = "AlertMessages"; @@ -566,7 +574,7 @@ public class AlertHandlerServiceImpl implements AlertHandlerService { basicImportAndExportServices.exportDataByFormat(response, exportDataList, sysHeaderJsonStr, formatStr, fileName); } - private List<List<String>> handleExportDataList(List<AlertMessageEntity> list) { + private List<List<String>> handleExportDataList(List<AlertMessageEntity> list, String alertState) { List<List<String>> exportDataList = new ArrayList<>(); TimezoneController.Timezone sysTimezone = TimezoneController.queryTimezoneByName(sysConfigService.getValue("timezone")); @@ -588,7 +596,7 @@ public class AlertHandlerServiceImpl implements AlertHandlerService { tempList.add(alertMessage.getDescription()); tempList.add(getExportFormatTime(alertMessage.getStartAt(), dateformat)); tempList.add(getExportFormatTime(alertMessage.getEndAt(), dateformat)); - tempList.add(getDuration(alertMessage.getStartAt(), alertMessage.getEndAt())); + tempList.add(getDuration(alertState, alertMessage.getStartAt(), alertMessage.getEndAt())); tempList.add(Constant.ALERT_MESSAGE_STATE_NAME_MAPPING.get(alertMessage.getState())); exportDataList.add(tempList); } @@ -598,11 +606,17 @@ public class AlertHandlerServiceImpl implements AlertHandlerService { /** * 通过 endAtstartAt 获取持续时间 * + * @param alertState * @param startAt * @param endAt * @return */ - private String getDuration(Date startAt, Date endAt) { + private String getDuration(String alertState, Date startAt, Date endAt) { + // 当 state = active | silence 时,duration = 当前服务器时间(result.time)- startAt + if (StrUtil.equalsAny(alertState, "1", "2")) { + endAt = new Date(); + } + if (Tool.ObjectUtil.isNull(endAt)) return Tool.StrUtil.DASHED; long durationSecond = Tool.DateUtil.between(startAt, endAt, DateUnit.SECOND); |
