From 570c3e39020473efd8e03215e40925ab3d8d7051 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期三, 30 十月 2019 23:54:25 +0800
Subject: [PATCH] 优化if 标签后还有数据的情况
---
java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java | 24 ++++++++++++++++--------
1 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java b/java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java
index 1d7a71c..6d3e02e 100644
--- a/java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java
+++ b/java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java
@@ -4,14 +4,14 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONPath;
-import com.java110.common.cache.ServiceSqlCache;
-import com.java110.common.constant.CommonConstant;
-import com.java110.common.constant.ResponseConstant;
-import com.java110.common.exception.BusinessException;
+import com.java110.utils.cache.ServiceSqlCache;
+import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.exception.BusinessException;
import com.java110.core.factory.DataTransactionFactory;
-import com.java110.common.log.LoggerEngine;
-import com.java110.common.util.Assert;
-import com.java110.common.util.StringUtil;
+import com.java110.utils.log.LoggerEngine;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
import com.java110.service.context.DataQuery;
import com.java110.entity.service.ServiceSql;
import com.java110.service.dao.IQueryServiceDAO;
@@ -249,7 +249,10 @@
String currentSql = sqlObj.getString(dataQuery.getTemplateKey());
//澶勭悊 if 鍒ゆ柇
+ logger.debug("dealSqlIf寮�濮嬪鐞唖ql涓殑<if>鑺傜偣 " + currentSql + " 鍏ュ弬:" + params.toJSONString());
currentSql = dealSqlIf(currentSql, params);
+ logger.debug("dealSqlIf澶勭悊瀹屾垚sql涓殑<if>鑺傜偣 " + currentSql + " 鍏ュ弬:" + params.toJSONString());
+
String[] sqls = currentSql.split("#");
String currentSqlNew = "";
@@ -340,6 +343,10 @@
String[] oSqls = oldSql.split("</if>");
for (String oSql : oSqls) {
+ logger.debug("澶勭悊if 鑺傜偣锛屽綋鍓嶅鐞嗙殑oSql=" + oSql + "鎬荤殑oSqls = " + oSqls);
+ if(StringUtil.isNullOrNone(oSql) || !oSql.contains("<if")){
+ continue;
+ }
if (!oSql.startsWith("<if")) {
newSql.append(oSql.substring(0, oSql.indexOf("<if")));
}
@@ -364,10 +371,11 @@
newSql.append(root.getText());
}
+
}
- return newSql.toString();
+ return newSql.toString().replace(">", ">").replace("<", "<");
}
--
Gitblit v1.8.0