燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2024-11-20 8185e5cdc2bbdf7fb4ca46a10864106893a01ed3
src/main/java/com/yssh/controller/WeatherController.java
@@ -1,7 +1,9 @@
package com.yssh.controller;
import com.yssh.config.InitConfig;
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 +11,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(InitConfig.getDate());
            }
            //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 +86,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("删除成功");