From 8f069a80ed15dd431450f58304513aa3985e62ba Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期二, 14 十一月 2023 16:48:16 +0800 Subject: [PATCH] 1. 新增风险值的查询逻辑; --- src/main/java/com/flightfeather/monitor/scheduledtasks/dust/RiskDailyAnalysisTask.kt | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 59 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/flightfeather/monitor/scheduledtasks/dust/RiskDailyAnalysisTask.kt b/src/main/java/com/flightfeather/monitor/scheduledtasks/dust/RiskDailyAnalysisTask.kt new file mode 100644 index 0000000..11744a8 --- /dev/null +++ b/src/main/java/com/flightfeather/monitor/scheduledtasks/dust/RiskDailyAnalysisTask.kt @@ -0,0 +1,59 @@ +package com.flightfeather.monitor.scheduledtasks.dust + +import com.flightfeather.monitor.analysis.dust.ExceptionAnalysisController +import com.flightfeather.monitor.analysis.dust.RiskAnalysisController +import com.flightfeather.monitor.analysis.dust.StatisticAnalysisController +import com.flightfeather.monitor.domain.ds1.repository.DustExceptionDataRep +import com.flightfeather.monitor.domain.ds1.repository.DustStatisticsValueRep +import com.flightfeather.monitor.domain.ds1.repository.RequestTaskRep +import org.springframework.stereotype.Component +import java.time.LocalDate +import java.time.LocalDateTime +import java.time.ZoneId + +/** + * 鎵皹鏃ラ闄╁垎鏋愪换鍔� + */ +@Component +class RiskDailyAnalysisTask( + private val riskAnalysisController: RiskAnalysisController, + private val exceptionAnalysisController: ExceptionAnalysisController, + private val statisticAnalysisController: StatisticAnalysisController, + private val dustExceptionDataRep: DustExceptionDataRep, + private val dustStatisticsValueRep: DustStatisticsValueRep, + requestTaskRep: RequestTaskRep, +) : BaseDustTimingTask(requestTaskRep) { + + override fun doTask(localtime: LocalDateTime) { + if (taskDelay || (localtime.hour == 10 && localtime.minute == 0)) { + taskDelay = isTaskDelay(localtime) + if (!taskDelay) { + log.info("鏃ラ闄╁垎鏋愭墽琛�") + riskAnalysisController.init() + riskAnalysisController.autoRunDaily() + } + } + } + + /** + * 褰撴槰鏃ョ殑寮傚父鍒嗘瀽鍜屾棩缁熻浠诲姟閮藉畬鎴愬悗锛屾墠鎵ц鏃ラ闄╁垎鏋愪换鍔★紝鍚﹀垯寤惰繜鎵ц + * @param localtime 褰撳墠鏃堕棿 + * @return 鏄惁寤惰繜鎵ц + */ + override fun isTaskDelay(localtime: LocalDateTime): Boolean { + val yesterday = LocalDate.now().minusDays(1) + // 妫�鏌ュ紓甯稿垎鏋愯褰曠殑鏈�鏂版椂闂村拰寮傚父鍒嗘瀽浠诲姟鐨勮繍琛岀姸鎬� + val eData = dustExceptionDataRep.findLatestData() ?: return true + val eDataTime = LocalDateTime.ofInstant(eData.endTime.toInstant(), ZoneId.systemDefault()).toLocalDate() + val b1 = yesterday.isEqual(eDataTime) + val b2 = exceptionAnalysisController.running + // 妫�鏌ユ棩缁熻鍒嗘瀽璁板綍鐨勬渶鏂版椂闂村拰鏃ョ粺璁″垎鏋愪换鍔$殑杩愯鐘舵�� + val sData = dustStatisticsValueRep.findLatestData("day") ?: return true + val sDataTime = LocalDateTime.ofInstant(sData.lst.toInstant(), ZoneId.systemDefault()).toLocalDate() + val b3 = yesterday.isEqual(sDataTime) + val b4 = statisticAnalysisController.running1 + + return !(b1 && !b2 && b3 && !b4) + + } +} \ No newline at end of file -- Gitblit v1.9.3