From 0819935913aecfb9e45b64d113a30820ba762f1e Mon Sep 17 00:00:00 2001
From: wuxw7 <wuxw7@asiainfo.com>
Date: 星期日, 18 十一月 2018 23:13:06 +0800
Subject: [PATCH] console 修改登录时走api 服务

---
 ConsoleService/src/main/java/com/java110/console/smo/impl/ConsoleServiceSMOImpl.java |   60 +++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 39 insertions(+), 21 deletions(-)

diff --git a/ConsoleService/src/main/java/com/java110/console/smo/impl/ConsoleServiceSMOImpl.java b/ConsoleService/src/main/java/com/java110/console/smo/impl/ConsoleServiceSMOImpl.java
index b42bbf3..9aaafce 100644
--- a/ConsoleService/src/main/java/com/java110/console/smo/impl/ConsoleServiceSMOImpl.java
+++ b/ConsoleService/src/main/java/com/java110/console/smo/impl/ConsoleServiceSMOImpl.java
@@ -8,17 +8,22 @@
 import com.java110.common.constant.ResponseConstant;
 import com.java110.common.constant.ServiceCodeConstant;
 import com.java110.common.exception.SMOException;
+import com.java110.common.util.DateUtil;
 import com.java110.core.factory.AuthenticationFactory;
 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.console.smo.IConsoleServiceSMO;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.entity.service.PageData;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
+import org.springframework.web.client.HttpClientErrorException;
 import org.springframework.web.client.RestTemplate;
 
 import java.util.HashMap;
@@ -73,7 +78,6 @@
         paramIn.put("userCode", userCode);
         paramIn.put(CommonConstant.ORDER_USER_ID,CommonConstant.ORDER_DEFAULT_USER_ID);
         paramIn.put(ServiceCodeConstant.SERVICE_CODE,ServiceCodeConstant.SERVICE_CODE_QUERY_USER_LOGIN);
-        paramIn.put(ServiceCodeConstant.SERVICE_CODE_NAME,ServiceCodeConstant.SERVICE_CODE_QUERY_USER_LOGIN_NAME);
         //paramIn.put("userPwd", userPwd);
         JSONObject businessObj = doExecute(paramIn);
 
@@ -168,22 +172,20 @@
         }
     }
 
-    private JSONObject doExecute(Map paramIn) {
+    private JSONObject doExecute(Map<String,Object> paramIn) {
         //鑾峰彇缁勪欢
         String appId = MappingCache.getValue(MappingConstant.KEY_CONSOLE_SERVICE_APP_ID);
 
         Assert.hasLength(appId, "缁勪欢涓嶈兘涓虹┖");
 
-        String centerServiceUrl = MappingCache.getValue(MappingConstant.KEY_CENTER_SERVICE_URL);
+        String apiServiceUrl = MappingCache.getValue(MappingConstant.KEY_API_SERVICE_URL);
 
-        Assert.hasLength(centerServiceUrl, "涓績鏈嶅姟鍣ㄥ湴鍧�娌℃湁閰嶇疆");
+        Assert.hasLength(apiServiceUrl, "api鏈嶅姟鍣ㄥ湴鍧�娌℃湁閰嶇疆");
 
         String securityCode = MappingCache.getValue(MappingConstant.KEY_CONSOLE_SECURITY_CODE);
         Assert.hasLength(securityCode, "绛惧悕绉橀挜娌℃湁閰嶇疆");
 
         String serviceCode = paramIn.get(ServiceCodeConstant.SERVICE_CODE).toString();
-        String serviceCodeName = paramIn.get(ServiceCodeConstant.SERVICE_CODE_NAME).toString();
-        String userId = paramIn.get(CommonConstant.ORDER_USER_ID).toString();
         if(paramIn.containsKey(ServiceCodeConstant.SERVICE_CODE)){
             paramIn.remove(ServiceCodeConstant.SERVICE_CODE);
         }
@@ -194,30 +196,46 @@
         if(paramIn.containsKey(CommonConstant.ORDER_USER_ID)){
             paramIn.remove(CommonConstant.ORDER_USER_ID);
         }
-
-        String responseMsg = "";
-        String requestBody = DataTransactionFactory.createQueryOneCenterServiceRequestJson(appId, userId, securityCode,
-                DataTransactionFactory.createQueryOneBusinessRequestJson(serviceCode,
-                        serviceCodeName, paramIn));
+        String params = "?";
+        for(String key : paramIn.keySet()){
+            params += (key +"=" + paramIn.get(key)+"&");
+        }
+        params = params.lastIndexOf("&") >-1 ? params.substring(0,params.length()-1):params;
+        apiServiceUrl = apiServiceUrl.replace("#serviceCode#",serviceCode) + params;
+        ResponseEntity<String> responseEntity = null;
         if (MappingConstant.VALUE_ON.equals(MappingCache.getValue(MappingConstant.KEY_CONSOLE_SERVICE_SECURITY_ON_OFF))) {
             try {
-                requestBody = DataTransactionFactory.encrypt(requestBody, 2048);
-                //璋冪敤鏌ヨ鑿滃崟淇℃伅
-                HttpHeaders header = new HttpHeaders();
-                header.add(CommonConstant.ENCRYPT, MappingConstant.VALUE_ON);
-                header.add(CommonConstant.ENCRYPT_KEY_SIZE, "2048");
-                HttpEntity<String> httpEntity = new HttpEntity<String>(requestBody, header);
-                responseMsg = restTemplate.postForObject(centerServiceUrl, httpEntity, String.class);
-                responseMsg = DataTransactionFactory.decrypt(responseMsg, 2048);
+//                requestBody = DataTransactionFactory.encrypt(requestBody, 2048);
+//                //璋冪敤鏌ヨ鑿滃崟淇℃伅
+//                HttpHeaders header = new HttpHeaders();
+//                header.add(CommonConstant.ENCRYPT, MappingConstant.VALUE_ON);
+//                header.add(CommonConstant.ENCRYPT_KEY_SIZE, "2048");
+//                HttpEntity<String> httpEntity = new HttpEntity<String>(requestBody, header);
+//                responseMsg = restTemplate.postForObject(centerServiceUrl, httpEntity, String.class);
+//                responseMsg = DataTransactionFactory.decrypt(responseMsg, 2048);
             }catch (Exception e){
                 logger.error("璋冪敤鎺ュ彛澶辫触",e);
                 throw new SMOException(ResponseConstant.RESULT_CODE_NO_AUTHORITY_ERROR,"璋冪敤鎺ュ彛澶辫触"+e);
             }
         } else {
-            responseMsg = restTemplate.postForObject(centerServiceUrl,requestBody,String.class);
+            HttpHeaders header = new HttpHeaders();
+            header.add(CommonConstant.HTTP_APP_ID, appId);
+            header.add(CommonConstant.HTTP_TRANSACTION_ID, GenerateCodeFactory.getTransactionId());
+            header.add(CommonConstant.HTTP_REQ_TIME, DateUtil.getNowDefault());
+            header.add(CommonConstant.HTTP_SIGN, "");
+            HttpEntity<String> httpEntity = new HttpEntity<String>(header);
+            try {
+                responseEntity = restTemplate.exchange(apiServiceUrl, HttpMethod.GET, httpEntity, String.class);
+            }catch (HttpClientErrorException e){
+                //responseEntity = new ResponseEntity<String>(e.getResponseBodyAsString(),e.getStatusCode());
+
+                return null;
+            }
         }
 
-        return DataTransactionFactory.getOneBusinessFromCenterServiceResponseJson(responseMsg);
+        Assert.isJsonObject(responseEntity.getBody(),"涓嬫父绯荤粺杩斿洖鎶ユ枃涓嶆槸鏈夋晥鐨刯son鏍煎紡");
+
+        return JSONObject.parseObject(responseEntity.getBody());
     }
 
 

--
Gitblit v1.8.0