From 22d7512ecb341426ecaa5ac8d48d7aa2b37c1059 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 09 六月 2022 16:27:41 +0800
Subject: [PATCH] 优化代码

---
 java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java |   26 +++++++++++++++++++++++---
 1 files changed, 23 insertions(+), 3 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 ee69e8d..460f215 100755
--- 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,6 +4,7 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONPath;
+import com.alibaba.fastjson.parser.Feature;
 import com.java110.core.factory.DataTransactionFactory;
 import com.java110.db.dao.IQueryServiceDAO;
 import com.java110.entity.service.ServiceSql;
@@ -351,11 +352,30 @@
     public JSONObject execJava(JSONObject params, String javaCode) throws BusinessException {
         try {
             //JSONObject params = dataQuery.getRequestParams();
+            List<String> columns = new ArrayList<>();
             Interpreter interpreter = new Interpreter();
             interpreter.eval(javaCode);
-            interpreter.set("params", new Object[]{params,queryServiceDAOImpl});
-            //interpreter.set("queryServiceDAOImpl",queryServiceDAOImpl);
-            return JSONObject.parseObject(interpreter.eval("execute(params,queryServiceDAOImpl)").toString());
+            interpreter.set("params", params);
+            interpreter.set("queryServiceDAOImpl",queryServiceDAOImpl);
+            JSONObject results = JSONObject.parseObject(interpreter.eval("execute(params,queryServiceDAOImpl)").toString(), Feature.OrderedField);
+
+            JSONArray data = null;
+            if (results == null || results.size() < 1) {
+                data = new JSONArray();
+            } else {
+                data = results.getJSONArray("data");
+            }
+
+            JSONArray th = new JSONArray();
+            for (String key : data.getJSONObject(0).keySet()) {
+                th.add(key);
+            }
+            JSONObject paramOut = new JSONObject();
+            paramOut.put("th", th);
+            paramOut.put("td", data);
+            paramOut.put("total",results.getString("total"));
+
+            return paramOut;
         } catch (Exception e) {
             logger.error("鏁版嵁浜や簰寮傚父锛�", e);
             throw new BusinessException(ResponseConstant.RESULT_CODE_INNER_ERROR, "鏁版嵁浜や簰寮傚父," + e.getMessage());

--
Gitblit v1.8.0