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 systemName;
private String unitName; 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") @Schema(description = "时间差", example = "id")
private Long timeDiff; private Long timeDiff;
// 时间差=当前时间-创建时间(单位:秒)--时间字符串 // 时间差=当前时间-创建时间(单位:秒)--时间字符串
@Schema(description = "持续时长", example = "id") // @Schema(description = "持续时长", example = "id")
private String timeDiffStr; // 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 lowlimit;
private String systemName; private String systemName;
//预警时间
private String createName;
private String updateName;
@JsonDeserialize(using = LocalDateTimeDeserializer.class) @JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class) @JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime createTime; private LocalDateTime insertTime;
private String unitName; private String unitName;
private String systemTypeName; private String systemTypeName;
private Long unitId; 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); respVO.setLowlimit(originalLowlimit);
} }
} }
//计算当前时间与create_time的时间差(单位:秒)
long totalSeconds = ChronoUnit.SECONDS.between(warnDO.getCreateTime(), LocalDateTime.now()); //当前时间
respVO.setTimeDiff(totalSeconds); // respVO.setCurrentTime(LocalDateTime.now());
// 转换为天、时、分、秒 // //计算当前时间与insert_time的时间差(单位:秒)
long days = totalSeconds / 86400; // 1天 = 86400秒 // long totalSeconds = ChronoUnit.SECONDS.between(warnDO.getInsertTime(), LocalDateTime.now());
long remainingSeconds = totalSeconds % 86400; // respVO.setTimeDiff(totalSeconds);
long hours = remainingSeconds / 3600; // 1小时 = 3600秒 // // 转换为天、时、分、秒
remainingSeconds %= 3600; // long days = totalSeconds / 86400; // 1天 = 86400秒
long minutes = remainingSeconds / 60; // 1分钟 = 60秒 // long remainingSeconds = totalSeconds % 86400;
long seconds = remainingSeconds % 60; // long hours = remainingSeconds / 3600; // 1小时 = 3600秒
// 格式化时间差字符串(例如:1天2小时3分4秒) // remainingSeconds %= 3600;
String timeDiffStr = String.format("%d天%d小时%d分%d秒", days, hours, minutes, seconds); // long minutes = remainingSeconds / 60; // 1分钟 = 60秒
respVO.setTimeDiffStr(timeDiffStr); // 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; return respVO;
}).collect(Collectors.toList()); }).collect(Collectors.toList());

Loading…
Cancel
Save