diff --git a/das/src/main/java/com/das/modules/calc/functions/FunctionSaveCalcData.java b/das/src/main/java/com/das/modules/calc/functions/FunctionSaveCalcData.java index 894d42ae..73de903e 100644 --- a/das/src/main/java/com/das/modules/calc/functions/FunctionSaveCalcData.java +++ b/das/src/main/java/com/das/modules/calc/functions/FunctionSaveCalcData.java @@ -82,7 +82,6 @@ public class FunctionSaveCalcData extends AbstractVariadicFunction { dt.setIotModelField(attr); dataList.add(dt); } - dataService.updateCalFieldData(dataList); return AviatorRuntimeJavaType.valueOf(0); } diff --git a/das/src/main/java/com/das/modules/calc/service/CalcJob.java b/das/src/main/java/com/das/modules/calc/service/CalcJob.java index 2596592d..310e7717 100644 --- a/das/src/main/java/com/das/modules/calc/service/CalcJob.java +++ b/das/src/main/java/com/das/modules/calc/service/CalcJob.java @@ -1,6 +1,7 @@ package com.das.modules.calc.service; +import cn.hutool.core.util.StrUtil; import com.das.modules.cache.service.CacheService; import com.das.modules.calc.domain.entity.CalcModule; import com.googlecode.aviator.AviatorEvaluatorInstance; @@ -28,9 +29,19 @@ public class CalcJob implements Job { AviatorEvaluatorInstance instance = (AviatorEvaluatorInstance) dataMap.get("aviator"); CalcModule calcModule = (CalcModule) dataMap.get("module"); CacheService cacheService = (CacheService) dataMap.get("cache"); + Boolean isDebug = (Boolean) dataMap.get("isDebug"); + String debugTaskName = (String) dataMap.get("debugTaskName"); if (instance == null || calcModule == null || cacheService == null) { throw new JobExecutionException("calcModule is null"); } + if (isDebug){ + if (StrUtil.isBlank(debugTaskName)){ + return; + } + else if (!debugTaskName.equals(calcModule.getName())){ + return; + } + } Expression expression = instance.getCachedExpressionByKey(calcModule.getName()); if (expression == null) { log.error("expression is null, calcModule={}", calcModule.getName()); @@ -38,6 +49,8 @@ public class CalcJob implements Job { } //准备全局变量 Map envs = expression.newEnv(); + //调试变量 + envs.put("ISDEBUG", isDebug); //脚本名称 envs.put("G_SCRIPTNAME", calcModule.getName()); //风场信息 diff --git a/das/src/main/java/com/das/modules/calc/service/CalcService.java b/das/src/main/java/com/das/modules/calc/service/CalcService.java index 6a877709..b90e20fe 100644 --- a/das/src/main/java/com/das/modules/calc/service/CalcService.java +++ b/das/src/main/java/com/das/modules/calc/service/CalcService.java @@ -18,6 +18,7 @@ import jakarta.annotation.PreDestroy; import lombok.extern.slf4j.Slf4j; import org.quartz.*; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.quartz.SchedulerFactoryBean; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -51,6 +52,12 @@ public class CalcService { @Autowired AdminRedisTemplate adminRedisTemplate; + @Value("${calc.debug.enable}") + Boolean isDebug; + + @Value("${calc.debug.task-name") + String debugTaskName; + /** * 计算引擎实例 */ @@ -68,6 +75,8 @@ public class CalcService { dataMap.put("module", scriptModule); dataMap.put("aviator", aviator); dataMap.put("cache", cacheService); + dataMap.put("isDebug", isDebug); + dataMap.put("debugTaskName", debugTaskName); JobKey jobKey = JobKey.jobKey(scriptModule.getName(), "CalcEngine"); if (sh.checkExists(jobKey)){ throw new SchedulerException("计算模块已启动,请先停止该模块"); diff --git a/das/src/main/resources/application-dev.yml b/das/src/main/resources/application-dev.yml index 469df38b..6a128db5 100644 --- a/das/src/main/resources/application-dev.yml +++ b/das/src/main/resources/application-dev.yml @@ -86,9 +86,15 @@ captcha: expire: 120 das: + debug: true aes: key: b6967ee87b86d85a +calc: + debug: + enable: true + task-name: + logging: level: com: diff --git a/das/src/main/resources/application.yml b/das/src/main/resources/application.yml index 2b490a4e..8c8f6e94 100644 --- a/das/src/main/resources/application.yml +++ b/das/src/main/resources/application.yml @@ -85,7 +85,13 @@ captcha: verify-type: calculate expire: 120 +calc: + debug: + enable: false + task-name: + das: + debug: false aes: key: b6967ee87b86d85a