From 9d3afe6ccb9cabe5d0f8ce86dfbf81a82f989962 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 27 三月 2024 11:00:20 +0800
Subject: [PATCH] 添加缓存设置

---
 src/main/java/com/yssh/controller/WeatherController.java |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/yssh/controller/WeatherController.java b/src/main/java/com/yssh/controller/WeatherController.java
index 71c1476..dd85333 100644
--- a/src/main/java/com/yssh/controller/WeatherController.java
+++ b/src/main/java/com/yssh/controller/WeatherController.java
@@ -1,7 +1,9 @@
 package com.yssh.controller;
 
+import com.yssh.entity.Location;
 import com.yssh.entity.Weather;
 import com.yssh.service.WeatherService;
+import com.yssh.utils.CacheUtils;
 import com.yssh.utils.Result;
 
 import io.swagger.annotations.Api;
@@ -14,6 +16,7 @@
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
@@ -41,7 +44,6 @@
     })
     @GetMapping("/query/{begin}/{end}")
     public Result query(@PathVariable("begin") String begin, @PathVariable("end") String end) {
-        List<Weather> data = new ArrayList<>();
         try {
             if (null != begin && begin.length() != 19) {
                 begin = null;
@@ -49,15 +51,27 @@
             if (null != end && end.length() != 19) {
                 end = null;
             }
-            if (null == begin && null == end) {
-                begin = dateFormat.format(new Date());
+            if (null == begin) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.add(Calendar.DAY_OF_MONTH, -30);
+                begin = dateFormat.format(calendar.getTime());
+            }
+            if (null == end) {
+                end = dateFormat.format(new Date());
             }
 
-            data = weatherService.query(begin, end);
+            //List<Weather> list = weatherService.query(begin, end);
+            String key = CacheUtils.getMd5("weatherService.query_" + begin + "_" + end);
+            List<Weather> list = CacheUtils.getListByKey(key);
+            if (null == list) {
+                list = weatherService.query(begin, end);
+                CacheUtils.putListByKey(key, list);
+            }
+
+            return Result.OK(list);
         } catch (Exception e) {
             return Result.error(e.getMessage());
         }
-        return Result.OK(data);
     }
 
     @GetMapping("/getAll")

--
Gitblit v1.9.3