From 093a6b0549f5f1ed921d7bc4cfb5d43619c148ae Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 27 七月 2023 15:39:05 +0800
Subject: [PATCH] 1

---
 src/main/java/com/yssh/controller/AlertConfigController.java |   11 +++++++++++
 src/main/java/com/yssh/service/WarningAnalyseService.java    |    8 ++++++++
 src/main/resources/mapper/QxshMapper.xml                     |    3 ++-
 3 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/yssh/controller/AlertConfigController.java b/src/main/java/com/yssh/controller/AlertConfigController.java
index 026b20f..6640751 100644
--- a/src/main/java/com/yssh/controller/AlertConfigController.java
+++ b/src/main/java/com/yssh/controller/AlertConfigController.java
@@ -1,9 +1,11 @@
 package com.yssh.controller;
 
+import com.yssh.utils.CacheUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 
+import java.util.Date;
 import java.util.List;
 
 import org.springframework.web.bind.annotation.DeleteMapping;
@@ -79,4 +81,13 @@
         }
         return Result.OK("鍒犻櫎鎴愬姛");
     }
+
+    @ApiOperationSupport(order = 6)
+    @ApiOperation(value = "娓呴櫎缂撳瓨", notes = "娓呴櫎缂撳瓨")
+    @GetMapping("/clearCache")
+    public Result clearCache() {
+        CacheUtils.clear();
+
+        return Result.OK("success.");
+    }
 }
diff --git a/src/main/java/com/yssh/service/WarningAnalyseService.java b/src/main/java/com/yssh/service/WarningAnalyseService.java
index 7629dae..9714c6a 100644
--- a/src/main/java/com/yssh/service/WarningAnalyseService.java
+++ b/src/main/java/com/yssh/service/WarningAnalyseService.java
@@ -89,6 +89,12 @@
         Integer start = Integer.parseInt(DateUtils.getYyyyMmDdHh(startDate));
         Integer end = Integer.parseInt(DateUtils.getYyyyMmDdHh(endDate));
 
+        String key = "WAS.monthCount." + start + "." + end;
+        Object obj = CacheUtils.get(key);
+        if (obj instanceof Map<?, ?>) {
+            return (Map<String, Integer>) obj;
+        }
+
         Map<String, Integer> result = new HashMap<>();
         Integer warnNum = qxshMapper.countMonthForWarn(start, end);
         result.put("warningNumber", null == warnNum ? 0 : warnNum);
@@ -96,6 +102,8 @@
         Integer alarmNum = qxshMapper.countMonthForAlarm(start, end);
         result.put("alarmNumber", null == alarmNum ? 0 : alarmNum);
 
+        CacheUtils.put(key, result);
+
         return result;
     }
 
diff --git a/src/main/resources/mapper/QxshMapper.xml b/src/main/resources/mapper/QxshMapper.xml
index 670457d..a06cae3 100644
--- a/src/main/resources/mapper/QxshMapper.xml
+++ b/src/main/resources/mapper/QxshMapper.xml
@@ -65,10 +65,11 @@
     </select>
 
     <select id="countMonthForWarn" resultType="java.lang.Integer">
+        with rs as (select jcyj, jcbj from alert_config limit 1)
         select count(*)
         from yssh_gcsj
         where time between #{start} and #{end} and name like 'AI-%'
-            and value > (select jcyj from alert_config limit 1) and value &lt;= (select jcbj from alert_config limit 1);
+            and value > (select jcyj from rs) and value &lt;= (select jcbj from rs);
     </select>
 
     <select id="countMonthForAlarm" resultType="java.lang.Integer">

--
Gitblit v1.9.3