From d7717df0f80aac77eec9ba0345ea7f4487143f75 Mon Sep 17 00:00:00 2001
From: wuxw7 <wuxw7@asiainfo.com>
Date: 星期日, 25 十一月 2018 01:05:24 +0800
Subject: [PATCH] 修改域名bug

---
 java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java |   41 +++++++++++++++++++++++++++++++----------
 1 files changed, 31 insertions(+), 10 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 abdf56b..3849b2b 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
@@ -8,7 +8,7 @@
 import com.java110.common.constant.CommonConstant;
 import com.java110.common.constant.ResponseConstant;
 import com.java110.common.exception.BusinessException;
-import com.java110.common.factory.DataTransactionFactory;
+import com.java110.core.factory.DataTransactionFactory;
 import com.java110.common.log.LoggerEngine;
 import com.java110.common.util.Assert;
 import com.java110.common.util.StringUtil;
@@ -16,7 +16,10 @@
 import com.java110.entity.service.ServiceSql;
 import com.java110.service.dao.IQueryServiceDAO;
 import com.java110.service.smo.IQueryServiceSMO;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -38,6 +41,7 @@
     @Override
     public void commonQueryService(DataQuery dataQuery) throws BusinessException {
         //鏌ヨ缂撳瓨鏌ヨ 瀵瑰簲澶勭悊鐨凷erviceSql
+        ResponseEntity<String> responseEntity = null;
         try {
             ServiceSql currentServiceSql = ServiceSqlCache.getServiceSql(dataQuery.getServiceCode());
             if (currentServiceSql == null) {
@@ -56,17 +60,21 @@
             dataQuery.setServiceSql(currentServiceSql);
             if (CommonConstant.QUERY_MODEL_SQL.equals(currentServiceSql.getQueryModel())) {
                 doExecuteSql(dataQuery);
-                return;
             }else if(CommonConstant.QUERY_MODE_JAVA.equals(currentServiceSql.getQueryModel())){
                 doExecuteJava(dataQuery);
-                return ;
+            }else {
+                doExecuteProc(dataQuery);
             }
-            doExecuteProc(dataQuery);
+            responseEntity = new ResponseEntity<String>(dataQuery.getResponseInfo().toJSONString(), HttpStatus.OK);
         }catch (BusinessException e){
             logger.error("鍏敤鏌ヨ寮傚父锛�",e);
-            dataQuery.setResponseInfo(DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_PARAM_ERROR,
-                    e.getMessage()));
+            /*dataQuery.setResponseInfo(DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_PARAM_ERROR,
+                    e.getMessage()));*/
+            responseEntity = new ResponseEntity<String>("璇锋眰鍙戠敓寮傚父锛�"+e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+        }finally {
+            dataQuery.setResponseEntity(responseEntity);
         }
+
 
     }
     @Override
@@ -108,10 +116,12 @@
      * @param dataQuery
      */
     private void doExecuteUpdateSql(DataQuery dataQuery) throws BusinessException{
-
+        JSONObject business = null;
         try {
             JSONObject params = dataQuery.getRequestParams();
             JSONObject sqlObj = JSONObject.parseObject(dataQuery.getServiceSql().getSql());
+            JSONObject templateObj = JSONObject.parseObject(dataQuery.getServiceSql().getTemplate());
+            business = JSONObject.parseObject(templateObj.getString("TEMPLATE"));
             List<Object> currentParams = new ArrayList<Object>();
             String currentSql = "";
             for(String key : sqlObj.keySet()) {
@@ -124,7 +134,7 @@
                         continue;
                     }
                     currentSqlNew += "?";
-                    currentParams.add(params.get(sqls[sqlIndex]) instanceof Integer ? params.getInteger(sqls[sqlIndex]) : "'" + params.getString(sqls[sqlIndex]) + "'");
+                    currentParams.add(params.get(sqls[sqlIndex]) instanceof Integer ? params.getInteger(sqls[sqlIndex]) : "" + params.getString(sqls[sqlIndex]) + "");
                     //currentSqlNew += params.get(sqls[sqlIndex]) instanceof Integer ? params.getInteger(sqls[sqlIndex]) : "'" + params.getString(sqls[sqlIndex]) + "'";
                 }
 
@@ -139,6 +149,9 @@
             logger.error("鏁版嵁浜や簰寮傚父锛�",e);
             throw new BusinessException(ResponseConstant.RESULT_CODE_INNER_ERROR,"鏁版嵁浜や簰寮傚父銆傘�傘��");
         }
+
+        dataQuery.setResponseInfo(DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_CODE_SUCCESS,
+                "鎴愬姛",business));
     }
 
     /**
@@ -249,7 +262,15 @@
                     }
                 } else {
                     currentSqlNew += "?";
-                    currentParams.add(params.get(sqls[sqlIndex]) instanceof Integer ? params.getInteger(sqls[sqlIndex]) : "" + params.getString(sqls[sqlIndex]) + "");
+                    Object param =  params.getString(sqls[sqlIndex]);
+                    if(params.get(sqls[sqlIndex]) instanceof Integer){
+                        param = params.getInteger(sqls[sqlIndex]);
+                    }
+                   //杩欓噷瀵� page 鍜� rows 鐗规畩澶勭悊 锛岀洰鍓嶆病鏈夋兂鍒板叾浠栫殑鍔炴硶
+                    if(StringUtils.isNumeric(param.toString()) && "page,rows".contains(sqls[sqlIndex])){
+                        param = Integer.parseInt(param.toString());
+                    }
+                    currentParams.add(param);
                     //currentSqlNew += params.get(sqls[sqlIndex]) instanceof Integer ? params.getInteger(sqls[sqlIndex]) : "'" + params.getString(sqls[sqlIndex]) + "'";
                 }
             }
@@ -260,7 +281,7 @@
                 if(StringUtil.isNullOrNone(values[1])){
                     return ;
                 }
-                obj.put(values[1], new JSONObject());
+                obj.put(values[1], values[2].equals("Object")?new JSONObject():new JSONArray());
                 return;
             }
             if (values[2].equals("Object")) {

--
Gitblit v1.8.0