From 2a4e0a1c07d0d109d80d1d0cbcdd6b7be40c8bbc Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 31 七月 2023 11:07:31 +0800 Subject: [PATCH] 1 --- src/main/java/com/yssh/controller/WarningAnalyseController.java | 62 ++++++++++++++++++++++++++++--- 1 files changed, 56 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/yssh/controller/WarningAnalyseController.java b/src/main/java/com/yssh/controller/WarningAnalyseController.java index 095929a..a7c3560 100644 --- a/src/main/java/com/yssh/controller/WarningAnalyseController.java +++ b/src/main/java/com/yssh/controller/WarningAnalyseController.java @@ -1,5 +1,6 @@ package com.yssh.controller; +import com.yssh.utils.DateUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -14,6 +15,7 @@ import com.yssh.utils.Result; import javax.annotation.Resource; +import java.util.Calendar; import java.util.Date; @Api(tags = "鍛婅鍒嗘瀽") @@ -27,28 +29,76 @@ @ApiOperationSupport(order = 1) @ApiOperation(value = "鑾峰彇瀹炴椂鎶ヨ", notes = "鑾峰彇瀹炴椂鎶ヨ鍒嗘瀽鏁版嵁") @GetMapping("/runAlarm") - public Result alarmAnalyse(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) { - return Result.OK(warningService.getRunTimeAlarmAnalyse(null == date ? new Date() : date)); + public Result alarmAnalyse(@RequestParam(value = "start", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start, + @RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) { + Integer startTime = getStartTime(start, end); + Integer endTime = getEndTime(start, end); + + return Result.OK(warningService.getRunTimeAlarmAnalyse(startTime, endTime)); } @ApiOperationSupport(order = 2) @ApiOperation(value = "鑾峰彇瀹炴椂棰勮", notes = "鑾峰彇瀹炴椂棰勮鍒嗘瀽鏁版嵁") @GetMapping("/runWarning") - public Result warningAnalyse(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) { - return Result.OK(warningService.getRunTimeWarningAnalyse(null == date ? new Date() : date)); + public Result warningAnalyse(@RequestParam(value = "start", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start, + @RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end) { + Integer startTime = getStartTime(start, end); + Integer endTime = getEndTime(start, end); + + return Result.OK(warningService.getRunTimeWarningAnalyse(startTime, endTime)); + } + + private Integer getStartTime(Date start, Date end) { + do { + if (null == start && null == end) { + start = DateUtils.getAPeriodOfTime(new Date(), -5, Calendar.HOUR_OF_DAY); + break; + } + if (null != start && null == end) { + break; + } + if (null == start) { + start = DateUtils.getAPeriodOfTime(end, -5, Calendar.HOUR_OF_DAY); + break; + } + + start = start.getTime() > end.getTime() ? end : start; + } while (false); + + return Integer.parseInt(DateUtils.getYyyyMmDdHh(start)); + } + + private Integer getEndTime(Date start, Date end) { + do { + if (null == start && null == end) { + end = new Date(); + break; + } + if (null != start && null == end) { + end = DateUtils.getAPeriodOfTime(start, 5, Calendar.HOUR_OF_DAY); + break; + } + if (null == start) { + break; + } + + end = start.getTime() < end.getTime() ? end : start; + } while (false); + + return Integer.parseInt(DateUtils.getYyyyMmDdHh(end)); } @ApiOperationSupport(order = 3) @ApiOperation(value = "鏈湀棰勮鎶ヨ缁熻", notes = "鏈湀棰勮鎶ヨ缁熻锛岃繑鍥炲弬鏁癮larmNumber瀵瑰簲鍊间负鏈湀鎶ヨ鏁版嵁閲忥紝鍙傛暟warningNumber瀵瑰簲鍊间负鏈湀棰勮鏁版嵁閲�") @GetMapping("/monthCount") - public Result thisMonthCount(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) { + public Result thisMonthCount(@RequestParam(value = "date", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) { return Result.OK(warningService.monthCount(null == date ? new Date() : date)); } @ApiOperationSupport(order = 4) @ApiOperation(value = "涓�鍛ㄩ璀︽姤璀︽暟閲忓彉鍖栬秼鍔�", notes = "涓�鍛ㄩ璀︽姤璀︽暟閲忓彉鍖栬秼鍔匡紝杩斿洖鍙傛暟alarmDayCount涓轰竴鍛ㄦ瘡鏃ユ姤璀︾粺璁℃暟閲忓垪琛紝鍙傛暟warningDayCount涓轰竴鍛ㄦ瘡鏃ラ璀︾粺璁℃暟閲忓垪琛�") @GetMapping("/everydayCount") - public Result everydayCount(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) { + public Result everydayCount(@RequestParam(value = "date", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) { return Result.OK(warningService.everydayCount(null == date ? new Date() : date)); } -- Gitblit v1.9.3