From 1f8bca3de2f840d5bc552031844292c783966b29 Mon Sep 17 00:00:00 2001 From: junzhangfm Date: Wed, 25 Mar 2026 23:32:04 +0800 Subject: [PATCH] =?UTF-8?q?2026-03-25=E6=8F=90=E4=BA=A4=EF=BC=9A=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9EeventId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../power/grid/controller/DnerController.java | 12 +++++++---- .../dao/DnerDailyPowerOutageEventMapper.java | 3 ++- .../dao/DnerHourlyPowerOutageEventMapper.java | 3 ++- .../power/grid/entity/AreaTreeReq.java | 5 ++++- .../IDnerDailyPowerOutageEventService.java | 8 ++++---- .../IDnerHourlyPowerOutageEventService.java | 7 ++++--- .../DnerDailyPowerOutageEventServiceImpl.java | 4 ++-- ...DnerHourlyPowerOutageEventServiceImpl.java | 4 ++-- .../DnerDailyPowerOutageEventMapper.xml | 3 ++- .../DnerHourlyPowerOutageEventMapper.xml | 1 + .../DnerSiteAreaConfigurationMapper.xml | 20 +++++++++++++++++-- 11 files changed, 49 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/southern/power/grid/controller/DnerController.java b/src/main/java/com/southern/power/grid/controller/DnerController.java index 768b9cf..9a41f7e 100644 --- a/src/main/java/com/southern/power/grid/controller/DnerController.java +++ b/src/main/java/com/southern/power/grid/controller/DnerController.java @@ -60,8 +60,10 @@ public class DnerController { @GetMapping("/intraday/query") public Result queryIntradayData(@RequestParam String orgCode, @RequestParam String startDate, - @RequestParam String endDate) { - return Result.success(dnerHourlyPowerOutageEventService.queryIntradayData(orgCode, startDate, endDate)); + @RequestParam String endDate, + @RequestParam String eventId) { + return Result.success(dnerHourlyPowerOutageEventService.queryIntradayData( + orgCode, startDate, endDate, eventId)); } @@ -76,8 +78,10 @@ public class DnerController { @GetMapping("/kline/query") public Result queryKlineData(@RequestParam String orgCode, @RequestParam String startDate, - @RequestParam String endDate) { - return Result.success(dnerDailyPowerOutageEventService.queryKlineData(orgCode, startDate, endDate)); + @RequestParam String endDate, + @RequestParam String eventId) { + return Result.success(dnerDailyPowerOutageEventService.queryKlineData( + orgCode, startDate, endDate, eventId)); } /** diff --git a/src/main/java/com/southern/power/grid/dao/DnerDailyPowerOutageEventMapper.java b/src/main/java/com/southern/power/grid/dao/DnerDailyPowerOutageEventMapper.java index ef482ff..f6c7fb3 100644 --- a/src/main/java/com/southern/power/grid/dao/DnerDailyPowerOutageEventMapper.java +++ b/src/main/java/com/southern/power/grid/dao/DnerDailyPowerOutageEventMapper.java @@ -17,5 +17,6 @@ import java.util.List; public interface DnerDailyPowerOutageEventMapper extends BaseMapper { List selectListByConditions(@Param("orgCode") String orgCode, @Param("startDate") String startDate, - @Param("endDate") String endDate); + @Param("endDate") String endDate, + @Param("eventId") String eventId); } diff --git a/src/main/java/com/southern/power/grid/dao/DnerHourlyPowerOutageEventMapper.java b/src/main/java/com/southern/power/grid/dao/DnerHourlyPowerOutageEventMapper.java index 630a129..611730d 100644 --- a/src/main/java/com/southern/power/grid/dao/DnerHourlyPowerOutageEventMapper.java +++ b/src/main/java/com/southern/power/grid/dao/DnerHourlyPowerOutageEventMapper.java @@ -19,7 +19,8 @@ import java.util.Map; public interface DnerHourlyPowerOutageEventMapper extends BaseMapper { List selectListByConditions(@Param("orgCode") String orgCode, @Param("startDate") String startDate, - @Param("endDate") String endDate); + @Param("endDate") String endDate, + @Param("eventId") String eventId); /** * 批量插入事件记录 diff --git a/src/main/java/com/southern/power/grid/entity/AreaTreeReq.java b/src/main/java/com/southern/power/grid/entity/AreaTreeReq.java index f615771..fffcee1 100644 --- a/src/main/java/com/southern/power/grid/entity/AreaTreeReq.java +++ b/src/main/java/com/southern/power/grid/entity/AreaTreeReq.java @@ -16,9 +16,12 @@ public class AreaTreeReq { * DAILY-日K图 * HOURLY-分时图 */ - @NotBlank(message = "查询类型不能为空") + @NotBlank(message = "queryType can not be empty!") String queryType; + @NotBlank(message = "eventId can not be empty!") + Long eventId; + // ================= 用于高级筛选的属性 ==================== /** * 过去XX小时/天 diff --git a/src/main/java/com/southern/power/grid/service/IDnerDailyPowerOutageEventService.java b/src/main/java/com/southern/power/grid/service/IDnerDailyPowerOutageEventService.java index b1c6f89..ee24465 100644 --- a/src/main/java/com/southern/power/grid/service/IDnerDailyPowerOutageEventService.java +++ b/src/main/java/com/southern/power/grid/service/IDnerDailyPowerOutageEventService.java @@ -1,6 +1,5 @@ package com.southern.power.grid.service; -import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.southern.power.grid.entity.DailyPowerOutageEventVO; import com.southern.power.grid.entity.DnerDailyPowerOutageEvent; @@ -15,10 +14,11 @@ public interface IDnerDailyPowerOutageEventService extends IService dataList = dnerDailyPowerOutageEventMapper.selectListByConditions( - orgCode, beforeNumDays, endDate); + orgCode, beforeNumDays, endDate, eventId); Map dateTimeAndEntityMap = dataList.stream().collect(Collectors.toMap( DnerDailyPowerOutageEvent::getDataTime, Function.identity(), (k1, k2) -> k1)); DailyPowerOutageEventVO result = new DailyPowerOutageEventVO(); diff --git a/src/main/java/com/southern/power/grid/service/impl/DnerHourlyPowerOutageEventServiceImpl.java b/src/main/java/com/southern/power/grid/service/impl/DnerHourlyPowerOutageEventServiceImpl.java index 5d2397e..14a8427 100644 --- a/src/main/java/com/southern/power/grid/service/impl/DnerHourlyPowerOutageEventServiceImpl.java +++ b/src/main/java/com/southern/power/grid/service/impl/DnerHourlyPowerOutageEventServiceImpl.java @@ -33,11 +33,11 @@ public class DnerHourlyPowerOutageEventServiceImpl private DnerHourlyPowerOutageEventMapper dnerHourlyPowerOutageEventMapper; @Override - public HourlyPowerOutageEventChartVO queryIntradayData(String orgCode, String startDate, String endDate) { + public HourlyPowerOutageEventChartVO queryIntradayData(String orgCode, String startDate, String endDate, String eventId) { startDate = startDate.substring(0, 13) + ":00"; endDate = endDate.substring(0, 13) + ":00"; List dataList = dnerHourlyPowerOutageEventMapper.selectListByConditions( - orgCode, startDate, endDate); + orgCode, startDate, endDate, eventId); Map dateTimeAndEntityMap = dataList.stream().collect(Collectors.toMap( DnerHourlyPowerOutageEvent::getDataTime, Function.identity(), (k1, k2) -> k1)); HourlyPowerOutageEventChartVO result = new HourlyPowerOutageEventChartVO(); diff --git a/src/main/resources/mapper/DnerDailyPowerOutageEventMapper.xml b/src/main/resources/mapper/DnerDailyPowerOutageEventMapper.xml index b733667..9affea0 100644 --- a/src/main/resources/mapper/DnerDailyPowerOutageEventMapper.xml +++ b/src/main/resources/mapper/DnerDailyPowerOutageEventMapper.xml @@ -4,7 +4,7 @@ - select `id`, `org_code`, `data_time`, `hourly_precipitation`, `daily_precipitation`, `temperature`, `hourly_max_temperature`, `hourly_min_temperature`, `extreme_wind_speed_hourly`, `user_count`, `star_user_count`, `end_user_count`, `min_user_count`, `max_user_count`, `fault_star_user_count`, @@ -15,6 +15,7 @@ where org_code = #{orgCode} and data_time >= #{startDate} and data_time #{endDate} + and event_id = #{eventId} order by data_time asc \ No newline at end of file diff --git a/src/main/resources/mapper/DnerHourlyPowerOutageEventMapper.xml b/src/main/resources/mapper/DnerHourlyPowerOutageEventMapper.xml index c27d741..7475afb 100644 --- a/src/main/resources/mapper/DnerHourlyPowerOutageEventMapper.xml +++ b/src/main/resources/mapper/DnerHourlyPowerOutageEventMapper.xml @@ -13,6 +13,7 @@ where org_code = #{orgCode} and data_time >= #{startDate} and data_time #{endDate} + and event_id = #{eventId} order by data_time asc diff --git a/src/main/resources/mapper/DnerSiteAreaConfigurationMapper.xml b/src/main/resources/mapper/DnerSiteAreaConfigurationMapper.xml index 7491661..8f27675 100644 --- a/src/main/resources/mapper/DnerSiteAreaConfigurationMapper.xml +++ b/src/main/resources/mapper/DnerSiteAreaConfigurationMapper.xml @@ -42,6 +42,7 @@ where t1.district_code = t2.org_code and t2.data_time >= #{param.rainStartDateTime} and t2.data_time #{param.currentDateTime} + and t2.event_id = #{param.eventId} having sum(t2.hourly_precipitation) > #{param.pastTimeRainCount}) @@ -52,6 +53,7 @@ where t1.district_code = t2.org_code and t2.data_time >= #{param.avgTempStartDateTime} and t2.data_time #{param.currentDateTime} + and t2.event_id = #{param.eventId} having avg(t2.temperature) > #{param.pastTimeAvgTempCount}) @@ -62,6 +64,7 @@ where t1.district_code = t2.org_code and t2.data_time >= #{param.maxWindStartDateTime} and t2.data_time #{param.currentDateTime} + and t2.event_id = #{param.eventId} having avg(t2.extreme_wind_speed_hourly) > #{param.pastTimeMaxWindCount}) @@ -72,6 +75,7 @@ where t1.district_code = t2.org_code and t2.data_time >= #{param.powerOutageTimeStartDateTime} and t2.data_time #{param.currentDateTime} + and t2.event_id = #{param.eventId} having sum(t2.power_outage_duration) > #{param.pastTimePowerOutageTimeCount}) @@ -82,6 +86,7 @@ where t1.district_code = t2.org_code and t2.data_time >= #{param.powerOutageUserStartDateTime} and t2.data_time #{param.currentDateTime} + and t2.event_id = #{param.eventId} having sum(t2.user_count) > #{param.pastTimePowerOutageUserCount}) @@ -92,12 +97,15 @@ where t1.district_code = t2.org_code and t2.data_time >= #{param.powerOutageRatioStartDateTime} and t2.data_time #{param.currentDateTime} + and t2.event_id = #{param.eventId} having avg(t2.not_restored_user_count/(t2.restored_user_count + t2.not_restored_user_count)) > #{param.pastTimePowerOutageRatioCount}) # 过滤得到已存在数据的分时图 - AND EXISTS (select 1 from dner_hourly_power_outage_event t2 where t1.district_code = t2.org_code) + AND EXISTS (select 1 + from dner_hourly_power_outage_event t2 + where t1.district_code = t2.org_code and t2.event_id = #{param.eventId}) @@ -118,6 +126,7 @@ where t1.district_code = t2.org_code and t2.data_time >= #{param.rainStartDateTime} and t2.data_time #{param.currentDateTime} + and t2.event_id = #{param.eventId} having sum(t2.daily_precipitation) > #{param.pastTimeRainCount}) @@ -128,6 +137,7 @@ where t1.district_code = t2.org_code and t2.data_time >= #{param.avgTempStartDateTime} and t2.data_time #{param.currentDateTime} + and t2.event_id = #{param.eventId} having avg(t2.temperature) > #{param.pastTimeAvgTempCount}) @@ -138,6 +148,7 @@ where t1.district_code = t2.org_code and t2.data_time >= #{param.maxWindStartDateTime} and t2.data_time #{param.currentDateTime} + and t2.event_id = #{param.eventId} having avg(t2.extreme_wind_speed_hourly) > #{param.pastTimeMaxWindCount}) @@ -148,6 +159,7 @@ where t1.district_code = t2.org_code and t2.data_time >= #{param.powerOutageTimeStartDateTime} and t2.data_time #{param.currentDateTime} + and t2.event_id = #{param.eventId} having sum(t2.power_outage_duration) > #{param.pastTimePowerOutageTimeCount}) @@ -158,6 +170,7 @@ where t1.district_code = t2.org_code and t2.data_time >= #{param.powerOutageUserStartDateTime} and t2.data_time #{param.currentDateTime} + and t2.event_id = #{param.eventId} having sum(t2.user_count) > #{param.pastTimePowerOutageUserCount}) @@ -168,12 +181,15 @@ where t1.district_code = t2.org_code and t2.data_time >= #{param.powerOutageRatioStartDateTime} and t2.data_time #{param.currentDateTime} + and t2.event_id = #{param.eventId} having avg(t2.not_restored_user_count/(t2.restored_user_count + t2.not_restored_user_count)) > #{param.pastTimePowerOutageRatioCount}) # 过滤得到已存在数据的K线图 - AND EXISTS (select 1 from dner_daily_power_outage_event t2 where t1.district_code = t2.org_code) + AND EXISTS (select 1 + from dner_daily_power_outage_event t2 + where t1.district_code = t2.org_code and t2.event_id = #{param.eventId})