Browse Source

fix:集中告警字段时间处理

pull/69/head
xiaojinfei 1 week ago
parent
commit
24c81f24ac
  1. 26
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/vo/WarnRespVO.java
  2. 7
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/warn/WarnDO.java
  3. 29
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/warn/WarnServiceImpl.java

26
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/warn/vo/WarnRespVO.java

@ -85,6 +85,28 @@ public class WarnRespVO {
private String systemName;
private String unitName;
/**
* 预警时间
*
*
*/
@Schema(description = "预警时间", example = "2025-01-01 12:00:00")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime insertTime;
// /**
// * 当前时间
// *
// *
// */
//
// @Schema(description = "当前时间", example = "2025-01-01 12:00:00")
// @JsonDeserialize(using = LocalDateTimeDeserializer.class)
// @JsonSerialize(using = LocalDateTimeSerializer.class)
// @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
// private LocalDateTime currentTime;
/**
* 创建者-名称
*
@ -129,6 +151,6 @@ public class WarnRespVO {
@Schema(description = "时间差", example = "id")
private Long timeDiff;
// 时间差=当前时间-创建时间(单位:秒)--时间字符串
@Schema(description = "持续时长", example = "id")
private String timeDiffStr;
// @Schema(description = "持续时长", example = "id")
// private String timeDiffStr;
}

7
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/warn/WarnDO.java

@ -72,13 +72,10 @@ public class WarnDO extends BaseDO {
private String lowlimit;
private String systemName;
private String createName;
private String updateName;
//预警时间
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime createTime;
private LocalDateTime insertTime;
private String unitName;
private String systemTypeName;
private Long unitId;

29
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/warn/WarnServiceImpl.java

@ -162,19 +162,22 @@ public class WarnServiceImpl implements WarnService {
respVO.setLowlimit(originalLowlimit);
}
}
//计算当前时间与create_time的时间差(单位:秒)
long totalSeconds = ChronoUnit.SECONDS.between(warnDO.getCreateTime(), LocalDateTime.now());
respVO.setTimeDiff(totalSeconds);
// 转换为天、时、分、秒
long days = totalSeconds / 86400; // 1天 = 86400秒
long remainingSeconds = totalSeconds % 86400;
long hours = remainingSeconds / 3600; // 1小时 = 3600秒
remainingSeconds %= 3600;
long minutes = remainingSeconds / 60; // 1分钟 = 60秒
long seconds = remainingSeconds % 60;
// 格式化时间差字符串(例如:1天2小时3分4秒)
String timeDiffStr = String.format("%d天%d小时%d分%d秒", days, hours, minutes, seconds);
respVO.setTimeDiffStr(timeDiffStr);
//当前时间
// respVO.setCurrentTime(LocalDateTime.now());
// //计算当前时间与insert_time的时间差(单位:秒)
// long totalSeconds = ChronoUnit.SECONDS.between(warnDO.getInsertTime(), LocalDateTime.now());
// respVO.setTimeDiff(totalSeconds);
// // 转换为天、时、分、秒
// long days = totalSeconds / 86400; // 1天 = 86400秒
// long remainingSeconds = totalSeconds % 86400;
// long hours = remainingSeconds / 3600; // 1小时 = 3600秒
// remainingSeconds %= 3600;
// long minutes = remainingSeconds / 60; // 1分钟 = 60秒
// long seconds = remainingSeconds % 60;
// // 格式化时间差字符串(例如:1天2小时3分4秒)
// String timeDiffStr = String.format("%d天%d小时%d分%d秒", days, hours, minutes, seconds);
// respVO.setTimeDiffStr(timeDiffStr);
return respVO;
}).collect(Collectors.toList());

Loading…
Cancel
Save