From 17b42d5142a62817c9f55edf33dbae4054cdd29d Mon Sep 17 00:00:00 2001 From: lishuai Date: Tue, 15 Jul 2025 08:55:55 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E8=AE=A1=E7=AE=97=E4=BC=98=E5=8C=96?= =?UTF-8?q?=202025=E5=B9=B47=E6=9C=8815=E6=97=A508:55:52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/thing/quartz/calc/task/CalcTask.java | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/modules/quartz/src/main/java/com/thing/quartz/calc/task/CalcTask.java b/modules/quartz/src/main/java/com/thing/quartz/calc/task/CalcTask.java index d9298ac..46c76e8 100644 --- a/modules/quartz/src/main/java/com/thing/quartz/calc/task/CalcTask.java +++ b/modules/quartz/src/main/java/com/thing/quartz/calc/task/CalcTask.java @@ -1,8 +1,14 @@ package com.thing.quartz.calc.task; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSONObject; +import com.google.common.collect.Lists; +import com.thing.calculation.dto.CalcTargetConfigDTO; import com.thing.calculation.dto.ExecuteCalcRequest; +import com.thing.calculation.dto.ReCalcRequest; import com.thing.calculation.handler.CalcExecuteHandler; +import com.thing.calculation.service.CalcTargetConfigService; +import com.thing.common.core.utils.DateTimeUtils; import com.thing.quartz.timetask.task.ITask; import lombok.RequiredArgsConstructor; @@ -11,6 +17,12 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Objects; + +import static com.thing.common.core.utils.DateTimeUtils.DATE_TIME_PATTERN; + /** * @author siyang * @date 2024-03-04 @@ -22,6 +34,7 @@ import org.springframework.stereotype.Component; public class CalcTask implements ITask { private final CalcExecuteHandler calcExecuteHandler; + private final CalcTargetConfigService calcTargetConfigService; @Override public void run(String params) { @@ -31,6 +44,29 @@ public class CalcTask implements ITask { } else { request = JSONObject.parseObject(params, ExecuteCalcRequest.class); } - calcExecuteHandler.handleCalculate(request,null); + List targetConfigs = calcTargetConfigService.getAllEnabled(); + if(CollectionUtil.isEmpty(targetConfigs)){ + return; + } + String dayBeginTime; + String dayEndTime; + if(!Objects.isNull(request) && !Objects.isNull(request.getStartTime())&& !Objects.isNull(request.getEndTime())){ + dayBeginTime = request.getStartTime(); + dayEndTime = request.getEndTime(); + }else{ + LocalDateTime hourStart = DateTimeUtils.getHourStart(LocalDateTime.now()); + LocalDateTime hourEnd = DateTimeUtils.getHourEnd(LocalDateTime.now()); + dayBeginTime = hourStart.minusHours(1).format(DATE_TIME_PATTERN); + dayEndTime = hourEnd.format(DATE_TIME_PATTERN); + } + for (CalcTargetConfigDTO targetConfig : targetConfigs) { + ReCalcRequest request1 = new ReCalcRequest(); + request1.setCalcTargetConfigIds(Lists.newArrayList(targetConfig.getId())); + request1.setStartTime(dayBeginTime); + request1.setEndTime(dayEndTime); + calcTargetConfigService.reCalculate(request1); + } + // calcExecuteHandler.handleCalculate(request,null); } + }