From f49ce86fe82047d2dd94adf65316013729d090a0 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 14 三月 2024 10:28:29 +0800 Subject: [PATCH] 2024年03月14日10:28:25 --- app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 105 +++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 90 insertions(+), 15 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 90b32bf..75a6bed 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -8,19 +8,13 @@ import android.content.ServiceConnection; import android.content.pm.PackageManager; import android.location.Location; -import android.location.LocationListener; import android.location.LocationManager; import android.os.IBinder; -import android.provider.Settings; import android.text.TextUtils; -import android.util.Log; -import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; -import com.alibaba.fastjson.JSON; import com.google.gson.Gson; -import com.google.gson.JsonObject; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.device.bean.DeviceOidInfoBean; import com.hdl.linkpm.sdk.ota.bean.CloudDeviceFirmwaresBean; @@ -36,7 +30,7 @@ import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.listener.LinkCallBack; -import com.hdl.photovoltaic.ui.StartActivity; +import com.hdl.photovoltaic.ui.bean.CUserInfo; import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; import com.hdl.photovoltaic.ui.bean.DeviceTimeBean; import com.hdl.photovoltaic.ui.bean.Geolocation; @@ -68,7 +62,6 @@ 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; @@ -119,7 +112,21 @@ String type = getKeyValue("type", data);//灏忕被 String mode_type = "澶х被->" + topic + "--->" + "灏忕被->" + type;//鐢ㄦ潵鎵撳嵃鐨� HdlLogLogic.print("uni--->鍙戦��--->" + mode_type + "\r\n" + data, true); - if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(topic)) { + if (HDLUniMP.UNI_EVENT_REPLY_USER_MODEL.equals(topic)) { + //鐢ㄦ埛妯″潡 + switch (type) { + //鐢ㄦ埛淇℃伅 + case HDLUniMP.UNI_EVENT_REPLY_USER_INFO: { + this.uniGetUserInfo(mode_type, data, callback); + } + //鐢ㄦ埛澶村儚锛堟棫骞冲彴閫昏緫鏄ご鍍忓崟鐙幏鍙栦笅杞藉湴鍧�锛� + case HDLUniMP.UNI_EVENT_REPLY_USER_IMAGE: { + uniGetImageKey(mode_type, data, callback); + } + break; + } + + } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(topic)) { //浣忓畢妯″潡 switch (type) { //鍒涘缓鐢电珯 @@ -1087,6 +1094,72 @@ } /** + * 鑾峰彇鐢ㄦ埛淇℃伅 + * + * @param data uni鏁版嵁 + * @param callback uni鍥炶皟 + */ + private void uniGetUserInfo(String type, Object data, DCUniMPJSCallback callback) { + HdlAccountLogic.getInstance().getMemberInfo_C(new CloudCallBeak<CUserInfo>() { + @Override + public void onSuccess(CUserInfo cUserInfo) { + if (cUserInfo == null) { + return; + } + UserConfigManage.getInstance().setBingPhone(cUserInfo.getMemberPhone()); + UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail()); + UserConfigManage.getInstance().Save(); + //鑾峰彇鐢ㄦ埛澶村儚璺緞 + if (cUserInfo.getMemberHeadIcon().contains("http")) { + //鏇存柊鐢ㄦ埛澶村儚 + uniCallbackData(type, cUserInfo, callback); + } else { + HdlAccountLogic.getInstance().getImageKey_C(cUserInfo.getMemberHeadIcon(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String url) { + cUserInfo.setMemberHeadIcon(url); + uniCallbackData(type, cUserInfo, callback); + } + + @Override + public void onFailure(HDLException e) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + }); + } + + } + + @Override + public void onFailure(HDLException e) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + }); + } + + /** + * 鑾峰彇鐢ㄦ埛澶村儚 + * + * @param data uni鏁版嵁 + * @param callback uni鍥炶皟 + */ + private void uniGetImageKey(String type, Object data, DCUniMPJSCallback callback) { + String imageKey = getKeyValue("imageKey", getKeyValue("data", data)); + HdlAccountLogic.getInstance().getImageKey_C(imageKey, new CloudCallBeak<String>() { + @Override + public void onSuccess(String url) { + uniCallbackData(type, url, callback); + } + + @Override + public void onFailure(HDLException e) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + }); + } + + + /** * 閫嗗彉鍣ㄦ竻绌轰綇瀹卛d * * @param data uni鏁版嵁 @@ -1269,7 +1342,7 @@ atomicInteger.set(atomicInteger.get() + 1); //鏈�鍚庝竴鏉℃墠鍋氭坊鍔犻�嗗彉鍣ㄩ�昏緫澶勭悊 if (atomicInteger.get() == list.size()) { - HdlDeviceLogic.getInstance().addAllInverterDeviceToCloud(homeId, mac,list , new CloudCallBeak<Boolean>() { + HdlDeviceLogic.getInstance().addAllInverterDeviceToCloud(homeId, mac, list, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { uniCallbackData(type, null, callback); @@ -1411,7 +1484,8 @@ private void sendModBus(String type, Object data, DCUniMPJSCallback callback) { String tempData = getKeyValue("data", data); if (TextUtils.isEmpty(tempData)) { - HdlLogLogic.print("data鍐呭涓虹┖--->", false); + uniCallbackData(type, null, -2, "data鍐呭涓虹┖", callback); + //HdlLogLogic.print("data鍐呭涓虹┖--->", false); return; } ModBusBean modBusBean = new Gson().fromJson(tempData, ModBusBean.class); @@ -1422,24 +1496,25 @@ // modBusBean.setOid("0101050217BBC400"); // } if (modBusBean.getMac() == null || modBusBean.getData() == null) { - HdlLogLogic.print("uni--->鍙戦��--->ModBus--->鍙戦�佸け璐�,(mac鎴栬�卭id)涓虹┖." + Arrays.toString(modBusBean.getData()), true); + uniCallbackData(type, null, -2, "鍙戦�佸け璐�,(mac鎴栬�卭id)涓虹┖", callback); + //HdlLogLogic.print("uni--->鍙戦��--->ModBus--->鍙戦�佸け璐�,(mac鎴栬�卭id)涓虹┖." + Arrays.toString(modBusBean.getData()), true); return; } - HdlLogLogic.print("uni--->鍙戦��--->ModBus--->" + Arrays.toString(modBusBean.getData()), true); + //HdlLogLogic.print("uni--->鍙戦��--->ModBus--->" + Arrays.toString(modBusBean.getData()), true); //鍙戦�乵odbus鍗忚 HDLModBusConnect.getInstance().Send(modBusBean.getMac(), modBusBean.getData(), new ModbusCallBack() { @Override public void onSuccess(int[] data) { uniCallbackData(type, data, callback); - HdlLogLogic.print("uni--->鎺ユ敹--->ModBus--->" + Arrays.toString(data), true); +// HdlLogLogic.print("uni--->鎺ユ敹--->ModBus--->" + Arrays.toString(data), true); } @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); } }); } -- Gitblit v1.8.0