From ab94a1bded125837276d70cc14a3d8c7282294f4 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 12 八月 2023 10:33:24 +0800
Subject: [PATCH] 1

---
 src/main/java/com/yssh/controller/WarningAnalyseController.java |   32 +++++++++++----
 src/main/java/com/yssh/mapper/QxshMapper.java                   |    4 ++
 src/main/java/com/yssh/service/WarningAnalyseService.java       |   30 ++++++++++++++
 src/main/resources/mapper/QxshMapper.xml                        |   22 +++++++++++
 4 files changed, 78 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/yssh/controller/WarningAnalyseController.java b/src/main/java/com/yssh/controller/WarningAnalyseController.java
index a7c3560..f9979e6 100644
--- a/src/main/java/com/yssh/controller/WarningAnalyseController.java
+++ b/src/main/java/com/yssh/controller/WarningAnalyseController.java
@@ -102,21 +102,14 @@
         return Result.OK(warningService.everydayCount(null == date ? new Date() : date));
     }
 
-    @ApiOperationSupport(order = 4)
+    @ApiOperationSupport(order = 5)
     @ApiOperation(value = "涓夊皬鏃剁洃娴嬬珯鐐规暟鎹彉鍖栬秼鍔�", notes = "杩斿洖鍊间负涓夊皬鏃剁洃娴嬬珯鐐圭洃娴嬫暟鎹紝杩斿洖鍊间负map闆嗗悎锛屽叾涓璳ey涓虹珯鐐瑰悕绉帮紝value涓簂ist闆嗗悎锛屼繚瀛樻瘡澶╃洃娴嬫暟鍊兼暟鎹�")
     @GetMapping("/locationDataChange")
     public Result locationDataChange(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
         return Result.OK(warningService.select3Hours(null == date ? new Date() : date));
     }
 
-    @ApiOperationSupport(order = 4)
-    @ApiOperation(value = "鑾峰彇鏈湀鐩戞祴澶ф暟鎹珯鐐规渶澶у�糡OP10", notes = "鑾峰彇鏈湀鐩戞祴澶ф暟鎹珯鐐规渶澶у�糡OP10鏁伴噺鍒楄〃")
-    @GetMapping("/monthTop10")
-    public Result monthTop10() {
-        return Result.OK(warningService.selectMonthTop10());
-    }
-
-    @ApiOperationSupport(order = 5)
+    @ApiOperationSupport(order = 6)
     @ApiOperation(value = "鏍规嵁鏃堕棿鑾峰彇鎶ヨ鍜岄璀︿俊鎭�", notes = "鏍规嵁鏃堕棿鑾峰彇鎶ヨ鍜岄璀︿俊鎭�")
     @GetMapping("/getAlarmAndWarnByTime")
     public Result getAlarmAndWarnByTime(
@@ -133,4 +126,25 @@
 
         return Result.OK(warningService.getAlarmAndWarnByTime(begin, end));
     }
+
+    @ApiOperationSupport(order = 7)
+    @ApiOperation(value = "鑾峰彇鏈湀鐩戞祴绔欑偣鏈�澶у�糡op10", notes = "鑾峰彇鏈湀鐩戞祴绔欑偣鏈�澶у�糡op10鏁伴噺鍒楄〃")
+    @GetMapping("/monthTop10")
+    public Result monthTop10() {
+        return Result.OK(warningService.selectMonthTop10());
+    }
+
+    @ApiOperationSupport(order = 8)
+    @ApiOperation(value = "鑾峰彇鏈懆鐩戞祴绔欑偣鏈�澶у�糡op10", notes = "鑾峰彇鏈懆鐩戞祴绔欑偣鏈�澶у�糡op10")
+    @GetMapping("/weekTop10")
+    public Result weekTop10() {
+        return Result.OK(warningService.selectWeekTop10());
+    }
+
+    @ApiOperationSupport(order = 9)
+    @ApiOperation(value = "鑾峰彇鏈棩鐩戞祴绔欑偣鏈�澶у�糡op10", notes = "鑾峰彇鏈棩鐩戞祴绔欑偣鏈�澶у�糡op10")
+    @GetMapping("/dayTop10")
+    public Result dayTop10() {
+        return Result.OK(warningService.selectDayTop10());
+    }
 }
diff --git a/src/main/java/com/yssh/mapper/QxshMapper.java b/src/main/java/com/yssh/mapper/QxshMapper.java
index 18e8cb4..4c828f9 100644
--- a/src/main/java/com/yssh/mapper/QxshMapper.java
+++ b/src/main/java/com/yssh/mapper/QxshMapper.java
@@ -18,6 +18,10 @@
 
     public List<Qxsh> selectMonthTop10(String time);
 
+    public List<Qxsh> selectWeekTop10(@Param("start") Integer start, @Param("end") Integer end);
+
+    public List<Qxsh> selectDayTop10(String time);
+
     public List<Qxsh> selectWarnByBeginAndEnd(@Param("start") Integer start, @Param("end") Integer end);
 
     public List<Qxsh> selectAlarmByBeginAndEnd(@Param("start") Integer start, @Param("end") Integer end);
diff --git a/src/main/java/com/yssh/service/WarningAnalyseService.java b/src/main/java/com/yssh/service/WarningAnalyseService.java
index 3e3a2d4..5c524c1 100644
--- a/src/main/java/com/yssh/service/WarningAnalyseService.java
+++ b/src/main/java/com/yssh/service/WarningAnalyseService.java
@@ -135,7 +135,7 @@
     }
 
     /**
-     * 鑾峰彇鏈湀鐩戞祴澶ф暟鎹珯鐐规渶澶у�糡OP10
+     * 鑾峰彇鏈湀鐩戞祴绔欑偣鏈�澶у�糡OP10
      */
     public List<Qxsh> selectMonthTop10() {
         String time = DateUtils.getYyyyMm(new Date());
@@ -145,6 +145,34 @@
     }
 
     /**
+     * 鑾峰彇鏈懆鐩戞祴绔欑偣鏈�澶у�糡OP10
+     */
+    public List<Qxsh> selectWeekTop10() {
+        Date now = new Date();
+        int weekOfYear = DateUtils.getWeekOfYear(now);
+        int year = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYY, now));
+        Date lastSun = DateUtils.getWeekOfYearForSun(year, weekOfYear);
+        Date mon = DateUtils.getAPeriodOfTime(lastSun, 1, Calendar.DATE);
+        Date sun = DateUtils.getAPeriodOfTime(lastSun, 7, Calendar.DATE);
+        Integer intMon = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, mon) + "00"); // 2023080700
+        Integer intSun = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, sun) + "23"); // 2023081323
+
+        List<Qxsh> list = qxshMapper.selectWeekTop10(intMon, intSun);
+
+        return list;
+    }
+
+    /**
+     * 鑾峰彇鏈棩鐩戞祴绔欑偣鏈�澶у�糡OP10
+     */
+    public List<Qxsh> selectDayTop10() {
+        String time = DateUtils.getYyyyMmDd(new Date());
+        List<Qxsh> list = qxshMapper.selectDayTop10(time + "%");
+
+        return list;
+    }
+
+    /**
      * 鏍规嵁鏃堕棿鑾峰彇鎶ヨ鍜岄璀︿俊鎭�
      */
     public List<Report> getAlarmAndWarnByTime(Date beginDate, Date endDate) {
diff --git a/src/main/resources/mapper/QxshMapper.xml b/src/main/resources/mapper/QxshMapper.xml
index 8d73f5b..ee872f3 100644
--- a/src/main/resources/mapper/QxshMapper.xml
+++ b/src/main/resources/mapper/QxshMapper.xml
@@ -19,6 +19,28 @@
         limit 10;
     </select>
 
+    <select id="selectWeekTop10" resultType="com.yssh.entity.Qxsh">
+        with rs as (
+            select id, name, lon, lat, format(value, 2) "value", time
+            from yssh_qxsh
+            where time between #{start} and #{end} and name like 'AI-%'
+        )
+        select id, name, lon, lat, value, time from rs
+        order by value desc
+        limit 10;
+    </select>
+
+    <select id="selectDayTop10" resultType="com.yssh.entity.Qxsh">
+        with rs as (
+            select id, name, lon, lat, format(value, 2) "value", time
+            from yssh_qxsh
+            where time like #{time} and name like 'AI-%'
+        )
+        select id, name, lon, lat, value, time from rs
+        order by value desc
+        limit 10;
+    </select>
+
     <select id="selectWarnByBeginAndEnd" resultType="com.yssh.entity.Qxsh">
         select id, name, lon, lat, format(value, 2) "value", time
         from yssh_qxsh

--
Gitblit v1.9.3