From c7c07eaa32ca7b137b1ac028d17beee0ebcf9a0b Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 26 三月 2024 15:22:15 +0800 Subject: [PATCH] 2024年03月26日15:22:09 --- app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 41 ++++++++++++++++++++++++++++++----------- 1 files changed, 30 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java index b923df1..132a59f 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -18,6 +18,7 @@ import com.alibaba.fastjson.JSON; import com.google.gson.Gson; +import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.device.bean.DeviceOidInfoBean; @@ -25,6 +26,7 @@ import com.hdl.linkpm.sdk.ota.bean.CloudGatewayDriversBean; import com.hdl.linkpm.sdk.ota.bean.DeviceFirmwareBean; import com.hdl.linkpm.sdk.ota.bean.GatewayDriverBean; +import com.hdl.linkpm.sdk.user.HDLLinkPMUser; import com.hdl.linkpm.sdk.utils.HDLMD5Utils; import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; @@ -67,6 +69,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.concurrent.atomic.AtomicInteger; @@ -115,8 +118,9 @@ return; } String type = getKeyValue("type", data);//灏忕被 + String logTag = getKeyValue("logTag", data);//鏍囪uni鎸囦护 String mode_type = "澶х被->" + topic + "--->" + "灏忕被->" + type;//鐢ㄦ潵鎵撳嵃鐨� - HdlLogLogic.print("uni--->鍙戦��--->" + mode_type + "\r\n" + data, true); + HdlLogLogic.print(logTag + ":" + "uni--->鍙戦��--->" + mode_type + "\r\n" + data, true); if (HDLUniMP.UNI_EVENT_REPLY_USER_MODEL.equals(topic)) { //鐢ㄦ埛妯″潡 switch (type) { @@ -124,9 +128,19 @@ case HDLUniMP.UNI_EVENT_REPLY_USER_INFO: { this.uniGetUserInfo(mode_type, data, callback); } + break; //鐢ㄦ埛澶村儚锛堟棫骞冲彴閫昏緫鏄ご鍍忓崟鐙幏鍙栦笅杞藉湴鍧�锛� case HDLUniMP.UNI_EVENT_REPLY_USER_IMAGE: { uniGetImageKey(mode_type, data, callback); + } + break; + //鐢ㄦ埛鏈湴缂撳瓨淇℃伅 + case HDLUniMP.UNI_EVENT_REPLY_USER_LOCAL_INFO: { + JsonObject jsonObject = new JsonObject(); + jsonObject.addProperty("user_name", UserConfigManage.getInstance().getUserName()); + jsonObject.addProperty("user_image_url", UserConfigManage.getInstance().getUserImageUrl()); + jsonObject.addProperty("user_account", UserConfigManage.getInstance().getAccount()); + uniCallbackData(mode_type, jsonObject, callback); } break; } @@ -1121,6 +1135,7 @@ UserConfigManage.getInstance().Save(); //鑾峰彇鐢ㄦ埛澶村儚璺緞 if (cUserInfo.getMemberHeadIcon().contains("http")) { + UserConfigManage.getInstance().setUserImageUrl(cUserInfo.getMemberHeadIcon()); //鏇存柊鐢ㄦ埛澶村儚 uniCallbackData(type, cUserInfo, callback); } else { @@ -1128,12 +1143,13 @@ @Override public void onSuccess(String url) { cUserInfo.setMemberHeadIcon(url); + UserConfigManage.getInstance().setUserImageUrl(cUserInfo.getMemberHeadIcon()); uniCallbackData(type, cUserInfo, callback); } @Override public void onFailure(HDLException e) { - uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + uniCallbackData(type, cUserInfo, callback); } }); } @@ -1356,6 +1372,7 @@ // com.alibaba.fastjson.JSONArray jsonArray = JSON.parseArray(data); try { String devices = getKeyValue("devices", getKeyValue("data", data)); + String homeId = UserConfigManage.getInstance().getHomeId(); //getKeyValue("homeId", getKeyValue("data", data)); Gson gson = new Gson(); Type typeOfT = new TypeToken<List<GatewayBean>>() { }.getType(); @@ -1364,7 +1381,6 @@ uniCallbackData(type, null, -100, HDLApp.getInstance().getString(R.string.The_gateway_cannot_be_found_locally), callback); return; } - String homeId = UserConfigManage.getInstance().getHomeId(); //璁板綍鏉℃暟 AtomicInteger atomicInteger = new AtomicInteger(0); final boolean[] is_boolean = {false}; @@ -1379,7 +1395,7 @@ atomicInteger.set(atomicInteger.get() + 1); //鏈�鍚庝竴鏉℃墠鍋氭坊鍔犻�嗗彉鍣ㄩ�昏緫澶勭悊 if (atomicInteger.get() == list.size()) { - HdlDeviceLogic.getInstance().addAllInverterDeviceToCloud(homeId, gatewayBean.getDevice_mac(), list, new CloudCallBeak<Boolean>() { + HdlDeviceLogic.getInstance().addAllInverterDeviceToCloud(homeId, list, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { uniCallbackData(type, null, callback); @@ -1448,7 +1464,7 @@ private void uniSearchGateway(String type, DCUniMPJSCallback callback) { - HdlDeviceLogic.getInstance().searchCurrentHomeGateway(new GatewayCallBack() { + HdlDeviceLogic.getInstance().searchAllNetworkGateway(new GatewayCallBack() { @Override public void onSuccess(List<GatewayBean> gatewayBeanList) { uniCallbackData(type, gatewayBeanList, callback); @@ -1480,16 +1496,16 @@ } return; } - //杩涙潵浣忓畢璇︽儏閮借涓婁紶涓�娆id鍒楄〃鍒颁簯绔�; - HdlDeviceLogic.getInstance().uploadDataToCloud(homeId, list, null); + if (callback != null) { + uniCallbackData(type, list, callback); + } //EventBus浜嬩欢鍒嗗彂,杩涘叆浣忓畢寮�濮嬭闃呬富棰� BaseEventBus baseEventBus = new BaseEventBus(); baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST); baseEventBus.setData(list); EventBus.getDefault().post(baseEventBus); - if (callback != null) { - uniCallbackData(type, list, callback); - } + //杩涙潵浣忓畢璇︽儏閮借涓婁紶涓�娆id鍒楄〃鍒颁簯绔�; + HdlDeviceLogic.getInstance().uploadDataToCloud(homeId, list, null); } @Override @@ -1550,7 +1566,7 @@ @Override public void onError(HDLLinkException e) { uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); - //HdlLogLogic.print("uni--->鎺ユ敹--->ModBus--->" + e.getMsg() + "(" + e.getCode() + ")", true); +// HdlLogLogic.print("uni--->鎺ユ敹--->ModBus--->" + e.getMsg() + "(" + e.getCode() + ")", true); } }); } @@ -1576,6 +1592,9 @@ //灏忕▼搴忛偅閲屾湁鑷繁鐨勮姹傛柟娉�,闇�瑕佽繖浜涙暟鎹� data.put("token", UserConfigManage.getInstance().getToken()); data.put("refreshToken", UserConfigManage.getInstance().getRefreshToken()); + if (TextUtils.isEmpty(AppConfigManage.getUserRegionUrl())) { + AppConfigManage.setUserRegionUrl(HDLLinkPMUser.getInstance().getUserRegionUrl()); + } data.put("serverAddress", AppConfigManage.getUserRegionUrl()); data.put("appKey", AppConfigManage.getAppKey()); data.put("appSecret", AppConfigManage.getAppSecret()); -- Gitblit v1.8.0