From b470ed5451d0a4c34a2f71000e8c005e6ad626ad Mon Sep 17 00:00:00 2001
From: lrj <386002446@qq.com>
Date: 星期五, 25 十月 2024 10:42:12 +0800
Subject: [PATCH] bug
---
src/test/java/org/example/test.groovy | 6 +++---
src/test/java/org/example/Builder.java | 4 ++--
src/main/java/com/ycl/scheme/SqlQueryBuilder.java | 5 +++--
src/main/java/com/ycl/scheme/entity/Keyword.java | 2 ++
src/main/java/com/ycl/scheme/KeywordExample.java | 4 +++-
5 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/ycl/scheme/KeywordExample.java b/src/main/java/com/ycl/scheme/KeywordExample.java
index 59523c9..3ab13c1 100644
--- a/src/main/java/com/ycl/scheme/KeywordExample.java
+++ b/src/main/java/com/ycl/scheme/KeywordExample.java
@@ -49,8 +49,10 @@
//鍑芥暟 \\((.*?)\\)
Keyword f1= Keyword.builder().name("鏃堕棿鑼冨洿").keywordType(KeywordType.TIME_RANGE_FUNCTION).regex("\\(\\s*鏈�杩慭\s*\\d+\\s*澶‐\s*\\)").build();
keywords.add(f1);
- Keyword f2= Keyword.builder().name("璁℃暟").keywordType(KeywordType.FUNCTION).code("count").regex("\\s*\\((.*?)\\)\\s*").build();
+ Keyword f2= Keyword.builder().name("璁℃暟").keywordType(KeywordType.FUNCTION).functionParameterNullable(true).code("count").regex("\\s*\\((.*?)\\)\\s*").build();
keywords.add(f2);
+ Keyword f3= Keyword.builder().name("鍚堣").keywordType(KeywordType.FUNCTION).code("sum").regex("\\s*\\((.*?)\\)\\s*").build();
+ keywords.add(f3);
//鐗规畩鍊�
Keyword p1= Keyword.builder().name("鏈�杩�?澶�").keywordType(KeywordType.TIME_RANGE).regex("\\d+").build();
keywords.add(p1);
diff --git a/src/main/java/com/ycl/scheme/SqlQueryBuilder.java b/src/main/java/com/ycl/scheme/SqlQueryBuilder.java
index 139c92b..79e026c 100644
--- a/src/main/java/com/ycl/scheme/SqlQueryBuilder.java
+++ b/src/main/java/com/ycl/scheme/SqlQueryBuilder.java
@@ -150,9 +150,10 @@
res +=c;
}
idx++;
- if(kw!=null && !kw.getKeywordType().equals(KeywordType.FUNCTION) && kw.getCode().equals("count") && !c.equals("(")){
- res+=c;
+ if(kw==null || !kw.getKeywordType().equals(KeywordType.FUNCTION) || kw.getFunctionParameterNullable()==null || !kw.getFunctionParameterNullable()){
+ res +=c;
}
+
skw="";
}else{
skw += c;
diff --git a/src/main/java/com/ycl/scheme/entity/Keyword.java b/src/main/java/com/ycl/scheme/entity/Keyword.java
index b5080fb..eae2d7d 100644
--- a/src/main/java/com/ycl/scheme/entity/Keyword.java
+++ b/src/main/java/com/ycl/scheme/entity/Keyword.java
@@ -34,6 +34,8 @@
private String regex;//鎶撳彇
+ private Boolean functionParameterNullable;//鍑芥暟鍙傛暟鏄惁鍙互涓虹┖
+
}
diff --git a/src/test/java/org/example/Builder.java b/src/test/java/org/example/Builder.java
index 8b7c4b2..6f3d55d 100644
--- a/src/test/java/org/example/Builder.java
+++ b/src/test/java/org/example/Builder.java
@@ -30,8 +30,8 @@
@Test
public void build(){
- BlockText blockText = new BlockText();
- String text = "鏁版嵁婧� : 璀︽儏閫氭姤 \n 鏉′欢:鏃堕棿鑼冨洿(鏈�杩�5澶�) 骞朵笖 璀︽儏鍐呭 鍖呭惈 '鎶㈠ず' 骞朵笖 妗堝彂鍦� 鍖呭惈 '閲戠墰澶ч亾'\n 缁撴灉: 璁℃暟 > 2 \n and 鏁版嵁婧�:妗堜欢绯荤粺 \n 鏉′欢:鏃堕棿鑼冨洿(鏈�杩�5澶�) 骞朵笖 璀︽儏鍐呭 鍖呭惈 '鍛芥' 骞朵笖 妗堝彂鍦� 鍖呭惈 '閲戠墰澶ч亾'\n 缁撴灉: 璁℃暟>=2 \n";
+
+ String text = "鏁版嵁婧� : 璀︽儏閫氭姤 \n 鏉′欢:鏃堕棿鑼冨洿(鏈�杩�5澶�) 骞朵笖 璀︽儏鍐呭 鍖呭惈 '鎶㈠ず' 骞朵笖 妗堝彂鍦� 鍖呭惈 '閲戠墰澶ч亾'\n 缁撴灉: 璁℃暟 > 2 \n and 鏁版嵁婧�:妗堜欢绯荤粺 \n 鏉′欢:鏃堕棿鑼冨洿(鏈�杩�5澶�) 骞朵笖 璀︽儏鍐呭 鍖呭惈 '璇堥獥' 骞朵笖 妗堝彂鍦� 鍖呭惈 '閾剁墰澶ч亾'\n 缁撴灉: 鍚堣(娑夋閲戦)>=100000 \n";
Scheme scheme =new Scheme();
scheme.setId(1);
scheme.setName("绱ф�ラ�氭姤");
diff --git a/src/test/java/org/example/test.groovy b/src/test/java/org/example/test.groovy
index 9c3e396..5f4f20b 100644
--- a/src/test/java/org/example/test.groovy
+++ b/src/test/java/org/example/test.groovy
@@ -13,7 +13,7 @@
void run(Map<String,Parameter> pars,SchemeService service){
super.parameters.putAll(pars);
this.service = service;
- if(func_0() && func_1() ){
+ if(func_0() &&func_1() ){
service.doAction(1)
}
}
@@ -34,13 +34,13 @@
}
def func_1(){
Map<String,Object> pars = new HashMap<>();
- def sql= "select from t_case where create_time between :beginTime and :endTime and content like '%鍛芥%' and address like '%閲戠墰澶ч亾%' ";
+ def sql= "select sum(amt) from t_case where create_time between :beginTime and :endTime and content like '%璇堥獥%' and address like '%閾剁墰澶ч亾%' ";
def p_beginTime = LocalDateTime.now();
pars.put('beginTime',p_beginTime);
def p_endTime = LocalDateTime.now().minusDays(5);
pars.put('endTime',p_endTime);
def rs = service.execQuery(sql,pars);
- if(rs >=2){
+ if(rs >=100000){
return true;
}else{
return false;
--
Gitblit v1.8.0