燕山石化溯源三维电子沙盘-【后端】-服务
13693261870
2024-03-27 9d3afe6ccb9cabe5d0f8ce86dfbf81a82f989962
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")