src/main/java/com/ycl/scheme/AbstractSchemeRunner.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/scheme/SqlQueryBuilder.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/test/java/org/example/Builder.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/test/java/org/example/test.groovy | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ycl/scheme/AbstractSchemeRunner.java
@@ -14,4 +14,13 @@ parameters.putAll(pars); } protected Map<String,Object> getSqlParameters(){ Map<String,Object> m = new HashMap<>(); parameters.forEach((k,v)->{ m.put(k,v.getScript()); }); return m; } } src/main/java/com/ycl/scheme/SqlQueryBuilder.java
@@ -128,7 +128,6 @@ throw new RuntimeException("结果表达式不正确"); } String fields = ss[0]; String compareStr = resultText.substring(fields.length()); fields+=" "; @@ -181,7 +180,7 @@ StringBuilder csb = new StringBuilder(); String sql = "\"" +this.sql + "\""; csb.append(" def " + funcName + "(){\n"); csb.append(" Map<String,Object> pars = new HashMap<>();\n"); csb.append(" Map<String,Object> pars = super.getSqlParameters();\n"); csb.append(" def sql= " +sql + ";\n"); this.parameters.forEach((k,v)->{ @@ -384,11 +383,11 @@ //有几个问号,就要有几个对应的参数 Parameter p1 = new Parameter(); p1.setName("beginTime"); p1.setName("endTime"); p1.setScript("LocalDateTime.now()"); p1.setTypeName("LocalDateTime"); Parameter p2 = new Parameter(); p2.setName("endTime"); p2.setName("beginTime"); p2.setScript("LocalDateTime.now().minusDays("+day+ ")"); p2.setTypeName("LocalDateTime"); parameters.put(p1.getName(),p1); src/test/java/org/example/Builder.java
@@ -51,6 +51,7 @@ p.setName("rowId"); p.setScript(1); p.setTypeName("Integer"); pars.put("rowId",p); runner.run(pars,service); System.out.println(code); src/test/java/org/example/test.groovy
@@ -19,12 +19,12 @@ } def func_0(){ Map<String,Object> pars = new HashMap<>(); Map<String,Object> pars = super.getSqlParameters(); def sql= "select count(*) from t_info 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); def p_endTime = LocalDateTime.now(); pars.put('endTime',p_endTime); def p_beginTime = LocalDateTime.now().minusDays(5); pars.put('beginTime',p_beginTime); def rs = service.execQuery(sql,pars); if(rs > 2){ return true; @@ -33,12 +33,12 @@ } } def func_1(){ Map<String,Object> pars = new HashMap<>(); Map<String,Object> pars = super.getSqlParameters(); 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); def p_endTime = LocalDateTime.now(); pars.put('endTime',p_endTime); def p_beginTime = LocalDateTime.now().minusDays(5); pars.put('beginTime',p_beginTime); def rs = service.execQuery(sql,pars); if(rs >=100000){ return true;