| | |
| | | package com.mm.android.deviceaddmodule.openapi;
|
| | |
|
| | | import android.text.TextUtils;
|
| | |
|
| | | import com.google.gson.Gson;
|
| | | 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.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;
|
| | | import java.net.SocketTimeoutException;
|
| | | import java.net.URLDecoder;
|
| | | import java.net.UnknownHostException;
|
| | | import java.net.UnknownServiceException;
|
| | | import java.util.HashMap;
|
| | |
| | |
|
| | | 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);
|
| | | LogUtil.debugLog(TAG, "url::"+method+"\n"+"response result:" + jsonObj.toString());
|
| | | if (jsonObj == null) {
|
| | | throw new BusinessException("openApi response is null");
|
| | | JsonObject jsonObj = null;
|
| | | JsonObject jsonResult = null;
|
| | | if (CONST.HOST.contains("hdlcontrol.com")) {
|
| | | // 返回json
|
| | | 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");
|
| | | }
|
| | | jsonResult = jsonObj;
|
| | | } else {
|
| | | jsonObj = doPost(CONST.HOST + "/openapi/" + method, map, 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");
|
| | | }
|
| | | JsonObject jsonResult = jsonObj.getAsJsonObject("result");
|
| | |
|
| | | if (jsonResult == null) {
|
| | | throw new BusinessException("openApi response is null");
|
| | | }
|
| | |
| | | }
|
| | | try {
|
| | | JsonObject jsonData = jsonResult.getAsJsonObject("data");
|
| | | if (jsonData ==null){
|
| | | jsonData=new JsonObject();
|
| | | if (jsonData == null) {
|
| | | jsonData = new JsonObject();
|
| | | }
|
| | | return jsonData;
|
| | | } catch (Throwable e) {
|
| | |
| | | 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=null;
|
| | | if (CONST.HOST.contains("hdlcontrol.com")) {
|
| | | 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;
|
| | | }
|
| | | JsonObject jsonResult = jsonObj.getAsJsonObject("result");
|
| | | 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");
|
| | | }
|
| | |
| | |
|
| | | private static JsonObject doPost(String url, Map<String, Object> map, int timeOut) throws BusinessException {
|
| | | Gson gson = new Gson();
|
| | | String json = gson.toJson(map);
|
| | | map.put("homeId",1547099040465408002L);
|
| | | String json =null;
|
| | | JsonObject jsonObject = new JsonObject();
|
| | | if(url.contains("hdlcontrol.com")) {
|
| | | 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());
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | 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);
|
| | | jsonObject = new JsonParser().parse(openApi).getAsJsonObject();
|
| | | } catch (IOException e) {
|
| | |
| | | map.put("id", id);
|
| | | return map;
|
| | | }
|
| | |
|
| | |
|
| | | /**
|
| | | * 基本类型加密
|
| | | * <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;
|
| | | }
|
| | | }
|