package com.yssh.controller; import com.yssh.config.InitConfig; 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; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.List; @Api(tags="天气") @RestController @RequestMapping("/weather") @SuppressWarnings("rawtypes") public class WeatherController { @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"), }) @GetMapping("/query/{begin}/{end}") public Result query(@PathVariable("begin") String begin, @PathVariable("end") String end) { try { 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 list = weatherService.query(begin, end); String key = CacheUtils.getMd5("weatherService.query." + begin + "." + end); List 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()); } } @GetMapping("/getAll") @ApiOperation(value = "查询所有天气数据", notes = "查询所有天气详细数据") public Result getAll() { List list = weatherService.getAll(); return Result.OK(list); } @PostMapping("/insert") @ApiOperation("插入数据") public Result insert(@RequestBody Weather ysshWeather) { int i = weatherService.insert(ysshWeather); if (i == 0) { return Result.error("插入失败"); } return Result.OK("插入成功"); } @ApiOperation("删除数据") @ApiImplicitParam(name = "id", value = "编号", required = true, type = "String") @DeleteMapping("/delete/{id}") public Result delete(@PathVariable("id") String id) { int i = weatherService.delete(id); if (i == 0) { return Result.error("删除失败"); } return Result.OK("删除成功"); } }