From aa86cb57b09c5300db3c33d75d91d8b51a4b636f Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 16 六月 2023 09:27:45 +0800
Subject: [PATCH] 1

---
 src/main/java/com/yssh/controller/WarningAnalyseController.java |  107 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 84 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/yssh/controller/WarningAnalyseController.java b/src/main/java/com/yssh/controller/WarningAnalyseController.java
index 00c7a19..4fd7aca 100644
--- a/src/main/java/com/yssh/controller/WarningAnalyseController.java
+++ b/src/main/java/com/yssh/controller/WarningAnalyseController.java
@@ -1,27 +1,38 @@
 package com.yssh.controller;
 
+import com.yssh.entity.Qxsh;
+import com.yssh.utils.CacheUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.yssh.service.IWarningAnalyseService;
 import com.yssh.utils.Result;
 
-@Api(tags="鍛婅鍒嗘瀽")
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+@Api(tags = "鍛婅鍒嗘瀽")
 @RequestMapping("/warning")
 @RestController
 @SuppressWarnings("rawtypes")
 public class WarningAnalyseController {
-	
-	@Autowired
-	private IWarningAnalyseService warningService;
 
-	//鎶ヨ鍒嗘瀽
+    @Autowired
+    private IWarningAnalyseService warningService;
+
+    private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
+
     /**
      * 1.鏌ヨ褰撳墠鏃堕棿鐨勬墍鏈夌偣浣峷alue鍊硷紙浠�47.dat鏌ヨ鍗冲彲锛�
      * 2.绛涢�夊ぇ浜巠ssh_bjyj涓殑jcbj瀛楁鐨勫�� 杩斿洖id+缁忕含搴�+value
@@ -29,11 +40,10 @@
     @ApiOperationSupport(order = 1)
     @ApiOperation(value = "鑾峰彇瀹炴椂鎶ヨ", notes = "鑾峰彇瀹炴椂鎶ヨ鍒嗘瀽鏁版嵁")
     @GetMapping("/runAlarm")
-    public Result alarmAnalyse(){
-    	return Result.OK(warningService.getRunTimeAlarmAnalyse());
+    public Result alarmAnalyse() {
+        return Result.OK(warningService.getRunTimeAlarmAnalyse());
     }
-    
-    //棰勮鍒嗘瀽
+
     /**
      * 1.鏌ヨ褰撳墠鏃堕棿鐨勬墍鏈夌偣浣峷alue鍊硷紙浠�47.dat鏌ヨ鍗冲彲锛�
      * 2.绛涢�夊ぇ浜巠ssh_bjyj涓殑jcyj瀛楁鐨勫�� 杩斿洖id+缁忕含搴�+value
@@ -41,35 +51,86 @@
     @ApiOperationSupport(order = 2)
     @ApiOperation(value = "鑾峰彇瀹炴椂棰勮", notes = "鑾峰彇瀹炴椂棰勮鍒嗘瀽鏁版嵁")
     @GetMapping("/runWarning")
-    public Result warningAnalyse(){
-    	return Result.OK(warningService.getRunTimeWarningAnalyse());
+    public Result warningAnalyse() {
+        return Result.OK(warningService.getRunTimeWarningAnalyse());
     }
-    
+
     @ApiOperationSupport(order = 3)
     @ApiOperation(value = "鏈湀棰勮銆佹姤璀︾粺璁�", notes = "鏈湀棰勮銆佹姤璀︾粺璁★紝杩斿洖鍙傛暟alarmNumber瀵瑰簲鍊间负鏈湀鎶ヨ鏁版嵁閲忥紝鍙傛暟warningNumber瀵瑰簲鍊间负鏈湀棰勮鏁版嵁閲�")
     @GetMapping("/monthCount")
-    public Result thisMonthCount(){
-    	return Result.OK(warningService.countThisMonthAlarmAndWarning());
+    public Result thisMonthCount() {
+        return Result.OK(warningService.countThisMonthAlarmAndWarning());
     }
-    
+
     @ApiOperationSupport(order = 4)
     @ApiOperation(value = "姣忔棩棰勮銆佹姤璀︽暟閲忓彉鍖栬秼鍔�", notes = "涓�鍛ㄦ瘡鏃ラ璀︺�佹姤璀︽暟閲忕粺璁★紝杩斿洖鍙傛暟alarmDayCount涓轰竴鍛ㄦ瘡鏃ユ姤璀︾粺璁℃暟閲忓垪琛紝鍙傛暟warningDayCount涓轰竴鍛ㄦ瘡鏃ラ璀︾粺璁℃暟閲忓垪琛�")
     @GetMapping("/everydayCount")
-    public Result everydayCount(){
-    	return Result.OK(warningService.countEverydayAlarmAndWarning());
+    public Result everydayCount() {
+        return Result.OK(warningService.countEverydayAlarmAndWarning());
     }
-    
+
     @ApiOperationSupport(order = 4)
     @ApiOperation(value = "涓夊皬鏃剁洃娴嬬珯鐐规暟鎹彉鍖栬秼鍔�", notes = "杩斿洖鍊间负涓夊皬鏃剁洃娴嬬珯鐐圭洃娴嬫暟鎹紝杩斿洖鍊间负map闆嗗悎锛屽叾涓璳ey涓虹珯鐐瑰悕绉帮紝value涓簂ist闆嗗悎锛屼繚瀛樻瘡澶╃洃娴嬫暟鍊兼暟鎹�")
     @GetMapping("/locationDataChange")
-    public Result locationDataChange(){
-    	return Result.OK(warningService.selectEachLocationDataChange());
+    public Result locationDataChange() {
+        //return Result.OK(warningService.selectEachLocationDataChange());
+
+        String key = dateFormat.format(new Date()) + "_local";
+        Object obj = CacheUtils.get(key);
+        Map<String, List<Double>> map;
+
+        //if (null != obj) {
+        //    map = (Map<String, List<Double>>) obj;
+        //} else {
+            //map = warningService.selectEachLocationDataChange();
+            map = warningService.select3Hours();
+        //    if (null != map && map.size() > 0) {
+        //        CacheUtils.put(key, map);
+        //    }
+        //}
+
+        return Result.ok(map);
     }
-    
+
     @ApiOperationSupport(order = 4)
     @ApiOperation(value = "鑾峰彇鏈湀鐩戞祴澶ф暟鎹珯鐐规渶澶у�糡OP10", notes = "鑾峰彇鏈湀鐩戞祴澶ф暟鎹珯鐐规渶澶у�糡OP10鏁伴噺鍒楄〃")
     @GetMapping("/monthTop10")
-    public Result monthTop10(){
-    	return Result.OK(warningService.selectThisMonthLocationValueDataTop10());
+    public Result monthTop10() {
+        //return Result.OK(warningService.selectThisMonthLocationValueDataTop10());
+
+        //String key = dateFormat.format(new Date()) + "_top10";
+        //Object obj = CacheUtils.get(key);
+        List<Qxsh> list;
+
+        //if (null != obj) {
+        //    list = (List<Qxsh>) obj;
+        //} else {
+            //list = warningService.selectThisMonthLocationValueDataTop10();
+            list = warningService.selectMonthTop10();
+        //    if (null != list && list.size() > 0) {
+        //        CacheUtils.put(key, list);
+        //    }
+        //}
+
+        return Result.ok(list);
+    }
+
+    @ApiOperationSupport(order = 5)
+    @ApiOperation(value = "鏍规嵁鏃堕棿鑾峰彇鎶ヨ鍜岄璀︿俊鎭�", notes = "鏍规嵁鏃堕棿鑾峰彇鎶ヨ鍜岄璀︿俊鎭�")
+    @GetMapping("/getAlarmAndWarnByTime")
+    public Result getAlarmAndWarnByTime(
+            @RequestParam(value = "begin", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date begin,
+            @RequestParam(value = "end", required = true) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) {
+        if (null == begin || null == end) {
+            return Result.error(null);
+        }
+
+        if (begin.getTime() > end.getTime()) {
+            Date tmp = end;
+            begin = end;
+            end = tmp;
+        }
+
+        return Result.OK(warningService.getAlarmAndWarnByTime(begin, end));
     }
 }

--
Gitblit v1.9.3