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