From 08b203ac4cda87b13837f8e003e9caade9c9cc52 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 24 十一月 2022 13:47:34 +0800
Subject: [PATCH] 111

---
 AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java |  210 +++++++++++++++++++++++++++++-----------------------
 1 files changed, 118 insertions(+), 92 deletions(-)

diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java
index 84b4eeb..d08582c 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java
@@ -6,11 +6,14 @@
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
+import com.google.gson.reflect.TypeToken;
+import com.mm.android.deviceaddmodule.LCDeviceEngine;
 import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.BusinessException;
 import com.mm.android.deviceaddmodule.mobilecommon.utils.LogUtil;
 import com.mm.android.deviceaddmodule.mobilecommon.utils.MD5Helper;
 
 import org.apache.http.conn.ConnectTimeoutException;
+import org.json.JSONObject;
 
 import java.io.IOException;
 import java.net.SocketException;
@@ -30,14 +33,21 @@
 
     public static JsonObject execute(Map<String, Object> paramsMap, String method,int timeOut) throws BusinessException {
         Map<String, Object> map = paramsInit(paramsMap);
-        // 杩斿洖json
-        JsonObject jsonObj = doPost(CONST.HOST + "/openapi/" + method, map,timeOut);
-//        JsonObject jsonObj = doPost(CONST.HOST + "/home-wisdom/imou/openapi/" + method, map,timeOut);
-        LogUtil.debugLog(TAG, "url::"+method+"\n"+"response result锛�" + jsonObj.toString());
-        if (jsonObj == null) {
-            throw new BusinessException("openApi response is null");
+        JsonObject jsonResult = null;
+        if (CONST.isHdlServer()) {
+            if (method.equals("bindDevice")) {
+                jsonResult = doPost(CONST.HOST + "/home-wisdom/app/device/independentRegister", map, timeOut);
+            } else {
+                jsonResult = doPost(CONST.HOST + "/home-wisdom/imou/openapi/" + method, map, timeOut);
+            }
+        } else {
+            jsonResult = doPost(CONST.HOST + "/openapi/" + method, map, timeOut);
+            if (jsonResult == null) {
+                throw new BusinessException("openApi response is null");
+            }
+            jsonResult = jsonResult.getAsJsonObject("result");
         }
-        JsonObject jsonResult = jsonObj.getAsJsonObject("result");
+
         if (jsonResult == null) {
             throw new BusinessException("openApi response is null");
         }
@@ -46,61 +56,56 @@
             String msg = jsonResult.get("msg").getAsString();
             throw new BusinessException(code + msg);
         }
+
+        JsonObject jsonData = new JsonObject();
         try {
-            JsonObject jsonData = jsonResult.getAsJsonObject("data");
-            if (jsonData ==null){
-                jsonData=new JsonObject();
+            jsonData = jsonResult.getAsJsonObject("data");
+            if (jsonData == null) {
+                jsonData = new JsonObject();
             }
-            return jsonData;
+
         } catch (Throwable e) {
-            BusinessException businessException = new BusinessException(e);
-            throw businessException;
+//            BusinessException businessException = new BusinessException(e);
+//            throw businessException;
         }
+        return jsonData;
     }
 
-    public static JsonObject execute(String json, String method,int timeOut) throws BusinessException {
-        // 杩斿洖json
-        LogUtil.debugLog(TAG, "request result锛�" + json.toString());
-        JsonObject jsonObj = doPost(CONST.HOST + "/openapi/" + method, json,timeOut);
-        LogUtil.debugLog(TAG, "URL::"+method+"\n"+"response result锛�" + jsonObj.toString());
-        if (jsonObj == null) {
-            throw new BusinessException("openApi response is null");
-        }
-        JsonObject jsonResult = jsonObj.getAsJsonObject("result");
-        if (jsonResult == null) {
-            throw new BusinessException("openApi response is null");
-        }
-        String code = jsonResult.get("code").getAsString();
-        if (!"0".equals(code)) {
-            String msg = jsonResult.get("msg").getAsString();
-            throw new BusinessException(code + msg);
-        }
-        try {
-            JsonObject jsonData = jsonResult.getAsJsonObject("data");
-            if (jsonData ==null){
-                jsonData=new JsonObject();
-            }
-            return jsonData;
-        } catch (Throwable e) {
-            BusinessException businessException = new BusinessException(e);
-            throw businessException;
-        }
-    }
+
 
     private static JsonObject doPost(String url, Map<String, Object> map, int timeOut) throws BusinessException {
         Gson gson = new Gson();
-//        map.put("homeId","15626203746");
-        String json = gson.toJson(map);
-        JsonObject jsonObject = new JsonObject();
+        String json;
+        JsonObject jsonObject;
+        if(CONST.isHdlServer()) {
+            map.put("homeId", LCDeviceEngine.newInstance().getHomeId());
+            if (map.containsKey("params")) {
+                Map<String, Object> tempMap = (Map<String, Object>) map.get("params");
+                map.remove("params");
+                map.remove("id");
+                map.remove("system");
+                for (Map.Entry<String, Object> temp : tempMap.entrySet()) {
+                    if ("page".equals(temp.getKey())) {
+                        map.put("pageNo", temp.getValue());
+                    }
+                    else {
+                        if("token".equals(temp.getKey())){
+                            continue;
+                        }
+                        map.put(temp.getKey(), temp.getValue());
+                    }
+                }
+            }
 
-//        JsonElement parseString = JsonParser.parseString(json);
-//        jsonObject = parseString.getAsJsonObject();
-//        jsonObject = HttpClient.encrypt(map);
-//        json = gson.toJson(jsonObject);
+            json = gson.toJson(HttpClient.encrypt(map));
+        }else{
+            json = gson.toJson(map);
+        }
 
         try {
-            LogUtil.debugLog(TAG, "reqest: " + url + " data:" + json.toString());
+            LogUtil.debugLog(TAG, "reqest: " + url + " data:" + json);
             String openApi = HttpClient.post(url, json, "application/json", "OpenApi",timeOut);
+            LogUtil.debugLog(TAG, "杩斿洖缁撴灉: \r\n"  + openApi);
             jsonObject =  new JsonParser().parse(openApi).getAsJsonObject();
         } catch (IOException e) {
             BusinessException b = new BusinessException(e);
@@ -118,28 +123,6 @@
         return jsonObject;
     }
 
-    private static JsonObject doPost(String url, String json, int timeOut) throws BusinessException {
-        Gson gson = new Gson();
-        JsonObject jsonObject = new JsonObject();
-        try {
-            LogUtil.debugLog(TAG, "reqest: " + url + " data:" + json.toString());
-            String openApi = HttpClient.post(url, json, "application/json", "OpenApi",timeOut);
-            jsonObject =  new JsonParser().parse(openApi).getAsJsonObject();
-        } catch (IOException e) {
-            BusinessException b = new BusinessException(e);
-            if (e instanceof ConnectTimeoutException || e instanceof SocketTimeoutException
-                    || e instanceof UnknownHostException
-                    || e instanceof UnknownServiceException || e instanceof SSLException
-                    || e instanceof SocketException) {
-                b.errorDescription = "鎿嶄綔澶辫触锛岃妫�鏌ョ綉缁�";
-            }
-            throw b;
-        } catch (Throwable e) {
-            BusinessException b = new BusinessException(e);
-            throw b;
-        }
-        return jsonObject;
-    }
 
     private static Map<String, Object> paramsInit(Map<String, Object> paramsMap) {
         long time = System.currentTimeMillis() / 1000;
@@ -165,26 +148,69 @@
         return map;
     }
 
+//    public static JsonObject execute(String json, String method,int timeOut) throws BusinessException {
+//        // 杩斿洖json
+//        LogUtil.debugLog(TAG, "request result锛�" + json.toString());
+//        JsonObject jsonResult=null;
+//        if (CONST.isHdlServer()) {
+//            JsonObject jsonObj = doPost(CONST.HOST + "/home-wisdom/imou/openapi/"  + method, json, timeOut);
+//            LogUtil.debugLog(TAG, "URL::"+method+"\n"+"response result锛�" + jsonObj.toString());
+//            if (jsonObj == null) {
+//                throw new BusinessException("openApi response is null");
+//            }
+//            jsonResult = jsonObj;
+//        }
+//        else {
+//            JsonObject jsonObj = doPost(CONST.HOST + "/openapi/" + method, json, timeOut);
+//            LogUtil.debugLog(TAG, "URL::"+method+"\n"+"response result锛�" + jsonObj.toString());
+//            if (jsonObj == null) {
+//                throw new BusinessException("openApi response is null");
+//            }
+//            jsonResult = jsonObj.getAsJsonObject("result");
+//        }
+//
+//        if (jsonResult == null) {
+//            throw new BusinessException("openApi response is null");
+//        }
+//        String code = jsonResult.get("code").getAsString();
+//        if (!"0".equals(code)) {
+//            String msg = jsonResult.get("msg").getAsString();
+//            throw new BusinessException(code + msg);
+//        }
+//        try {
+//            JsonObject jsonData = jsonResult.getAsJsonObject("data");
+//            if (jsonData ==null){
+//                jsonData=new JsonObject();
+//            }
+//            return jsonData;
+//        } catch (Throwable e) {
+//            BusinessException businessException = new BusinessException(e);
+//            throw businessException;
+//        }
+//    }
 
-    /**
-     * 鍩烘湰绫诲瀷鍔犲瘑
-     * <p>
-     * 鍒ゆ柇褰撳墠鍊兼槸鍚﹂渶瑕佸弬涓庣鍚嶏紝淇濇寔璺熶簯绔竴鑷�
-     * 绌哄瓧绗︿覆涓嶅弬涓�
-     * 鏁扮粍,闆嗗悎涓嶅弬涓�
-     *
-     * @return ture 闇�瑕佸姞瀵�
-     */
-    private static boolean valueNeedSign(String valueStr) {
-        try {
-            if (TextUtils.isEmpty(valueStr)) return false;
-            final char[] strChar = URLDecoder.decode(valueStr, "utf-8")
-                    .substring(0, 1).toCharArray();
-            final char firstChar = strChar[0];
-            return firstChar != '{' && firstChar != '[';
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return false;
-    }
+
+//    private static JsonObject doPost(String url, String json, int timeOut) throws BusinessException {
+//        Gson gson = new Gson();
+//        JsonObject jsonObject = new JsonObject();
+//        try {
+//            LogUtil.debugLog(TAG, "reqest: " + url + " data:" + json.toString());
+//            String openApi = HttpClient.post(url, json, "application/json", "OpenApi",timeOut);
+//            jsonObject =  new JsonParser().parse(openApi).getAsJsonObject();
+//        } catch (IOException e) {
+//            BusinessException b = new BusinessException(e);
+//            if (e instanceof ConnectTimeoutException || e instanceof SocketTimeoutException
+//                    || e instanceof UnknownHostException
+//                    || e instanceof UnknownServiceException || e instanceof SSLException
+//                    || e instanceof SocketException) {
+//                b.errorDescription = "鎿嶄綔澶辫触锛岃妫�鏌ョ綉缁�";
+//            }
+//            throw b;
+//        } catch (Throwable e) {
+//            BusinessException b = new BusinessException(e);
+//            throw b;
+//        }
+//        return jsonObject;
+//    }
+
 }

--
Gitblit v1.8.0