Browse Source

楼宇列表里的告警数量改成当天发生的实际告警次数

jwy
review512jwy@163.com 4 weeks ago
parent
commit
71fd5d219d
  1. 2
      dongjian-dashboard-back-dao/src/main/resources/mappers/ex/OverviewInfoMapperExt.xml
  2. 2
      dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/OverviewServiceImpl.java
  3. 30
      dongjian-dashboard-back-util/src/main/java/com/dongjian/dashboard/back/util/DateUtil.java

2
dongjian-dashboard-back-dao/src/main/resources/mappers/ex/OverviewInfoMapperExt.xml

@ -27,7 +27,7 @@
WHERE
bbuilding.company_id = #{companyId} AND bbuilding.flag = 0 AND basic_floor.flag = 0 AND basic_space.flag = 0
AND basic_monitoring_asset.flag = 0 AND dinfo.flag = 0
AND ah.confirm_status = 0 AND ah.handle_status = 1
AND ah.receive_ts >= #{midnightTimestamp}
</select>
<select id="getBuildingInfo" resultType="com.dongjian.dashboard.back.vo.data.OverviewVO">

2
dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/OverviewServiceImpl.java

@ -11,6 +11,7 @@ import com.dongjian.dashboard.back.dto.monitoringpointcategory.MonitoringPointCa
import com.dongjian.dashboard.back.service.OverviewService;
import com.dongjian.dashboard.back.service.common.CommonOpt;
import com.dongjian.dashboard.back.service.common.MenuTree;
import com.dongjian.dashboard.back.util.DateUtil;
import com.dongjian.dashboard.back.vo.TreeMenusDTO;
import com.dongjian.dashboard.back.vo.dashboardnotification.DashboardNotificationPageVO;
import com.dongjian.dashboard.back.vo.data.OverviewCategoryVO;
@ -76,6 +77,7 @@ public class OverviewServiceImpl implements OverviewService {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("companyId", companyId);
paramMap.put("categoryIdList", Constants.CATEGORY_MAP.get(Constants.CATEGORY_ALARM));
paramMap.put("midnightTimestamp", DateUtil.getTodayZeroMillisByOffset(utcOffset));
List<OverviewInfo> alarmInfoList = overviewInfoMapperExt.getOverviewInfo(paramMap);
List<OverviewVO> overviewVOList = convert(alarmInfoList, utcOffset);

30
dongjian-dashboard-back-util/src/main/java/com/dongjian/dashboard/back/util/DateUtil.java

@ -2,10 +2,7 @@ package com.dongjian.dashboard.back.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.DayOfWeek;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.IsoFields;
import java.util.*;
@ -95,4 +92,29 @@ public class DateUtil {
.minusDays(1);
return japanYesterday.format(FORMATTER);
}
/**
* 根据前端传来的时区偏移分钟获取该时区当天 0 点的毫秒时间戳
* @param offsetMinutes 前端传递的偏移量例如东八区为 -480
* @return 当天 0 点的毫秒级时间戳UTC
*/
public static long getTodayZeroMillisByOffset(Integer offsetMinutes) {
// 若未传偏移,可使用默认时区(如系统默认或东八区)
if (offsetMinutes == null) {
// 默认日本时区(+9)
offsetMinutes = -540;
}
// 将前端 offset 转换为 ZoneOffset(例如 -480 -> +08:00)
int offsetSeconds = -offsetMinutes * 60; // 注意负负得正
ZoneOffset zoneOffset = ZoneOffset.ofTotalSeconds(offsetSeconds);
// 当前时刻在该偏移下的当天0点
ZonedDateTime todayZero = ZonedDateTime.now(zoneOffset)
.toLocalDate()
.atStartOfDay(zoneOffset);
// 返回毫秒时间戳
return todayZero.toInstant().toEpochMilli();
}
}

Loading…
Cancel
Save