From 28e2d5916fa0143fc01b073ebd7c2d869f763e32 Mon Sep 17 00:00:00 2001
From: wuxw7 <wuxw7@asiainfo.com>
Date: 星期三, 02 五月 2018 23:06:15 +0800
Subject: [PATCH] 加入登录功能,页面请求时,定义协议,及封装数据到PageData 对象,后期方便处理

---
 java110-service/src/main/java/com/java110/service/smo/impl/QueryServiceSMOImpl.java |   35 +++++++++++++++++++++++++----------
 1 files changed, 25 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 9fdc4d3..1ce0ebf 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,9 +8,9 @@
 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.common.log.LoggerEngine;
 import com.java110.common.util.Assert;
-import com.java110.common.util.ResponseTemplateUtil;
 import com.java110.entity.service.DataQuery;
 import com.java110.entity.service.ServiceSql;
 import com.java110.service.dao.IQueryServiceDAO;
@@ -19,7 +19,10 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
 
 /**
  * Created by wuxw on 2018/4/19.
@@ -42,6 +45,13 @@
             if ("".equals(currentServiceSql.getQueryModel())) {
                 throw new BusinessException(ResponseConstant.RESULT_CODE_INNER_ERROR,"閰嶇疆鏈嶅姟 serviceCode = " + dataQuery.getServiceCode() + " 閿欒锛屾湭閰嶇疆QueryModel,璇疯仈绯荤鐞嗗憳");
             }
+            //璇锋眰鍙傛暟鏍¢獙
+            List<String> sysParams = currentServiceSql.getParamList();
+            for(String param : sysParams) {
+                if(!dataQuery.getRequestParams().containsKey(param)){
+                    throw new BusinessException(ResponseConstant.RESULT_PARAM_ERROR,"璇锋眰鍙傛暟閿欒锛岃姹傛姤鏂囦腑鏈寘鍚弬鏁� " + param + " 淇℃伅");
+                }
+            }
             dataQuery.setServiceSql(currentServiceSql);
             if (CommonConstant.QUERY_MODEL_SQL.equals(currentServiceSql.getQueryModel())) {
                 doExecuteSql(dataQuery);
@@ -53,7 +63,7 @@
             doExecuteProc(dataQuery);
         }catch (BusinessException e){
             logger.error("鍏敤鏌ヨ寮傚父锛�",e);
-            dataQuery.setResponseInfo(ResponseTemplateUtil.createBusinessResponseJson(ResponseConstant.RESULT_PARAM_ERROR,
+            dataQuery.setResponseInfo(DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_PARAM_ERROR,
                     e.getMessage()));
         }
 
@@ -80,7 +90,7 @@
             doExecuteUpdateProc(dataQuery);
         }catch (BusinessException e){
             logger.error("鍏敤鏌ヨ寮傚父锛�",e);
-            dataQuery.setResponseInfo(ResponseTemplateUtil.createBusinessResponseJson(ResponseConstant.RESULT_PARAM_ERROR,
+            dataQuery.setResponseInfo(DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_PARAM_ERROR,
                     e.getMessage()));
         }
 
@@ -151,7 +161,7 @@
                 param = param.substring(0,param.length()-1);
             }
 
-            dataQuery.setResponseInfo(ResponseTemplateUtil.createBusinessResponseJson(ResponseConstant.RESULT_CODE_SUCCESS,
+            dataQuery.setResponseInfo(DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_CODE_SUCCESS,
                     "鎴愬姛",JSONObject.parseObject(interpreter.eval("execute("+param+")").toString())));
         }catch (Exception e){
             logger.error("鏁版嵁浜や簰寮傚父锛�",e);
@@ -200,7 +210,7 @@
             }
         }
 
-        dataQuery.setResponseInfo(ResponseTemplateUtil.createBusinessResponseJson(ResponseConstant.RESULT_CODE_SUCCESS,
+        dataQuery.setResponseInfo(DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_CODE_SUCCESS,
                 "鎴愬姛",business));
     }
 
@@ -225,19 +235,24 @@
                     continue;
                 }
                 if (sqls[sqlIndex].startsWith("PARENT_")) {
+                    if(obj.isEmpty()){
+                        currentSqlNew += "?";
+                        currentParams.add("''");
+                        continue;
+                    }
                     for (String key : obj.keySet()) {
                         if (sqls[sqlIndex].substring("PARENT_".length()).equals(key)) {
                             /*currentSqlNew += obj.get(key) instanceof Integer
                                     ? obj.getInteger(key) : "'" + obj.getString(key) + "'";*/
                             currentSqlNew += "?";
                             currentParams.add(obj.get(key) instanceof Integer
-                                    ? obj.getInteger(key) : "'" + obj.getString(key) + "'");
+                                    ? obj.getInteger(key) : "" + obj.getString(key) + "");
                             continue;
                         }
                     }
                 } else {
                     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]) + "'";
                 }
             }
@@ -289,7 +304,7 @@
             throw new BusinessException(ResponseConstant.RESULT_CODE_INNER_ERROR,"瀛樺偍杩囩▼ procName = " + dataQuery.getServiceSql().getProc() + " 杩斿洖缁撴灉涓嶆槸Json鏍煎紡");
         }
 
-        dataQuery.setResponseInfo(ResponseTemplateUtil.createBusinessResponseJson(ResponseConstant.RESULT_CODE_SUCCESS,
+        dataQuery.setResponseInfo(DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_CODE_SUCCESS,
                 "鎴愬姛",JSONObject.parseObject(jsonStr)));
     }
 
@@ -310,7 +325,7 @@
             throw new BusinessException(ResponseConstant.RESULT_CODE_INNER_ERROR,"瀛樺偍杩囩▼ procName = " + dataQuery.getServiceSql().getProc() + " 杩斿洖缁撴灉涓嶆槸Json鏍煎紡");
         }
 
-        dataQuery.setResponseInfo(ResponseTemplateUtil.createBusinessResponseJson(ResponseConstant.RESULT_CODE_SUCCESS,
+        dataQuery.setResponseInfo(DataTransactionFactory.createBusinessResponseJson(ResponseConstant.RESULT_CODE_SUCCESS,
                 "鎴愬姛",JSONObject.parseObject(jsonStr)));
     }
 

--
Gitblit v1.8.0