20260325:场景联动支持负数匹配

This commit is contained in:
George 2026-03-25 22:52:45 +08:00
parent 25abae984d
commit d5cdfa9ba4
2 changed files with 12 additions and 11 deletions

View File

@ -88,7 +88,7 @@ public class SceneContext {
/** /**
* 处理规则脚本 * 处理规则脚本
* * 静默时间:silent,在静默时间内即使满足触发条件也不执行动作
* @return * @return
*/ */
private boolean process(String json) throws InterruptedException { private boolean process(String json) throws InterruptedException {
@ -678,7 +678,7 @@ public class SceneContext {
} }
// silent:scene_场景编号 // silent:scene_场景编号
scene_logger.info("[{}]=====+>检查静默时间!", requestId); scene_logger.info("[{}]=====+>检查静默时间!", requestId);
String key = "silent:" + "scene_" + sceneId + ":" + serialNumber; String key = "silent:" + "scene_" + sceneId + ":" + serialNumber; // silent:scene_2:D6C7C9B0593C
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
// 查询静默截止时间 // 查询静默截止时间
Long expireTime = redisCache.getCacheObject(key); Long expireTime = redisCache.getCacheObject(key);
@ -688,8 +688,8 @@ public class SceneContext {
redisCache.setCacheObject(key, calendar.getTimeInMillis()); redisCache.setCacheObject(key, calendar.getTimeInMillis());
return true; return true;
} else { } else {
long NowTimestamp = Calendar.getInstance().getTimeInMillis(); long nowTimestamp = Calendar.getInstance().getTimeInMillis();
return NowTimestamp > expireTime; return nowTimestamp > expireTime;
} }
} }
@ -714,7 +714,7 @@ public class SceneContext {
* 判断字符串是否为整数或小数 * 判断字符串是否为整数或小数
*/ */
private boolean isNumeric(String str) { private boolean isNumeric(String str) {
Pattern pattern = compile("[0-9]*\\.?[0-9]+"); Pattern pattern = compile("-?[0-9]*\\.?[0-9]+");
Matcher isNum = pattern.matcher(str); Matcher isNum = pattern.matcher(str);
if (!isNum.matches()) { if (!isNum.matches()) {
return false; return false;

View File

@ -53,13 +53,14 @@ public class FlowLogExecutor {
} }
public void printContextBean(Object... contextBeanArray) { public void printContextBean(Object... contextBeanArray) {
log.info("=====+>规则引擎执行前,上下文变量值"); log.info("=====+>printContextBean规则引擎执行前,上下文变量值");
for (Object contextBean : contextBeanArray) { for (Object contextBean : contextBeanArray) {
log.info("上下文数值:{}", contextBean); log.info("printContextBean上下文数值:{}", contextBean);
} }
log.info("=====+>规则引擎正在执行......"); log.info("=====+>printContextBean规则引擎正在执行......");
} }
// 规则执行
public void printContextBeanWithRid(String requestId, Object... contextBeanArray) { public void printContextBeanWithRid(String requestId, Object... contextBeanArray) {
Logger ruleLogger; Logger ruleLogger;
String[] parts = requestId.split("/"); String[] parts = requestId.split("/");
@ -71,11 +72,11 @@ public class FlowLogExecutor {
} else { } else {
ruleLogger = log; ruleLogger = log;
} }
ruleLogger.info("[{}]=====+>规则引擎执行前,上下文变量值", requestId); ruleLogger.info("[{}]=====+>printContextBeanWithRid规则引擎执行前,上下文变量值", requestId);
for (Object contextBean : contextBeanArray) { for (Object contextBean : contextBeanArray) {
ruleLogger.info("[{}]=====+>上下文数值:{}", requestId, contextBean); ruleLogger.info("[{}]=====+>printContextBeanWithRid上下文数值:{}", requestId, contextBean);
} }
ruleLogger.info("[{}]=====+>规则引擎正在执行......", requestId); ruleLogger.info("[{}]=====+>printContextBeanWithRid规则引擎正在执行......", requestId);
} }
} }