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); } + }