From 2f55cebbad3dea187a5f91d16ec80a9677dab699 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 13 十一月 2024 11:16:53 +0800
Subject: [PATCH] 1

---
 src/main/java/com/yssh/controller/WeatherController.java |   71 +++++++++++++++++++++++------------
 1 files changed, 46 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/yssh/controller/WeatherController.java b/src/main/java/com/yssh/controller/WeatherController.java
index 839db18..a6527e6 100644
--- a/src/main/java/com/yssh/controller/WeatherController.java
+++ b/src/main/java/com/yssh/controller/WeatherController.java
@@ -1,7 +1,8 @@
 package com.yssh.controller;
 
 import com.yssh.entity.Weather;
-import com.yssh.service.IWeatherService;
+import com.yssh.service.WeatherService;
+import com.yssh.utils.CacheUtils;
 import com.yssh.utils.Result;
 
 import io.swagger.annotations.Api;
@@ -9,53 +10,73 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 
-/**
- * @author wMeng
- * @ClassName YsshWeatherController
- * @Description TODO
- * @date 2022/10/30 13:21
- * @Version 1.0
- */
 @Api(tags="澶╂皵")
 @RestController
 @RequestMapping("/weather")
 @SuppressWarnings("rawtypes")
 public class WeatherController {
-    @Autowired
-    private IWeatherService weatherService;
+    @Resource
+    private WeatherService weatherService;
+
+    private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-HH:00:00");
 
     @ApiOperation(value = "鏃堕棿鏌ヨ澶╂皵鏁版嵁", notes = "鏍规嵁寮�濮嬫椂闂村強鍏剁粨鏉熸椂闂存煡璇㈠ぉ姘旇缁嗕俊鎭�")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "begin", value = "鐐逛綅鍚嶇О", required = true, type = "String"),
-        @ApiImplicitParam(name = "end", value = "鐐逛綅绫诲瀷", required = true, type = "String"),
+            @ApiImplicitParam(name = "begin", value = "鐐逛綅鍚嶇О", required = true, type = "String"),
+            @ApiImplicitParam(name = "end", value = "鐐逛綅绫诲瀷", required = true, type = "String"),
     })
     @GetMapping("/query/{begin}/{end}")
-    public Result query(@PathVariable("begin") String begin,@PathVariable("end") String end){
-        List<Weather> data = new ArrayList<>();
+    public Result query(@PathVariable("begin") String begin, @PathVariable("end") String end) {
         try {
-            data = weatherService.query(begin,end);
-        }catch (Exception e){
+            if (null != begin && begin.length() != 19) {
+                begin = null;
+            }
+            if (null != end && end.length() != 19) {
+                end = null;
+            }
+            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());
+            }
+
+            //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")
     @ApiOperation(value = "鏌ヨ鎵�鏈夊ぉ姘旀暟鎹�", notes = "鏌ヨ鎵�鏈夊ぉ姘旇缁嗘暟鎹�")
-    public Result getAll(){
-        List<Weather> list =  weatherService.getAll();
+    public Result getAll() {
+        List<Weather> list = weatherService.getAll();
         return Result.OK(list);
     }
+
     @PostMapping("/insert")
     @ApiOperation("鎻掑叆鏁版嵁")
-    public Result insert(@RequestBody Weather ysshWeather){
+    public Result insert(@RequestBody Weather ysshWeather) {
         int i = weatherService.insert(ysshWeather);
-        if(i == 0){
+        if (i == 0) {
             return Result.error("鎻掑叆澶辫触");
         }
         return Result.OK("鎻掑叆鎴愬姛");
@@ -64,9 +85,9 @@
     @ApiOperation("鍒犻櫎鏁版嵁")
     @ApiImplicitParam(name = "id", value = "缂栧彿", required = true, type = "String")
     @DeleteMapping("/delete/{id}")
-    public Result delete(@PathVariable("id") String id){
+    public Result delete(@PathVariable("id") String id) {
         int i = weatherService.delete(id);
-        if(i == 0){
+        if (i == 0) {
             return Result.error("鍒犻櫎澶辫触");
         }
         return Result.OK("鍒犻櫎鎴愬姛");

--
Gitblit v1.9.3