From b93ca15aa55af7cf2dee653beb100076c897f152 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 25 六月 2024 16:56:38 +0800
Subject: [PATCH] 2024年06月25日16:56:31
---
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 103 ++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 89 insertions(+), 14 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 70a53be..56ae254 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -10,6 +10,7 @@
import android.location.Location;
import android.location.LocationManager;
import android.os.IBinder;
+import android.os.SystemClock;
import android.print.PageRange;
import android.provider.Settings;
import android.text.TextUtils;
@@ -46,6 +47,7 @@
import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
import com.hdl.photovoltaic.ui.bean.DeviceTimeBean;
import com.hdl.photovoltaic.ui.bean.Geolocation;
+import com.hdl.photovoltaic.ui.bean.HouseIdBean;
import com.hdl.photovoltaic.ui.bean.LinkBean;
import com.hdl.photovoltaic.ui.bean.MemberBean;
import com.hdl.photovoltaic.ui.bean.OidBean;
@@ -91,6 +93,7 @@
import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
+import io.dcloud.feature.sdk.DCUniMPSDK;
import io.dcloud.feature.unimp.DCUniMPJSCallback;
import okhttp3.ResponseBody;
@@ -167,6 +170,20 @@
} else if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(topic)) {
//浣忓畢妯″潡
switch (type) {
+ //鎵爜娣诲姞鐢电珯
+ case HDLUniMP.UNI_EVENT_REPLY_HOME_ADD: {
+ String url = getKeyValue("url", getKeyValue("data", data));
+ //EventBus浜嬩欢鍒嗗彂
+ HdlCommonLogic.getInstance().postEventBusSticky(
+ HDLUniMP.UNI_EVENT_REPLY_HOME_ADD,
+ HDLUniMP.UNI_EVENT_REPLY_HOME_ADD,
+ url);
+
+ if (callback != null) {
+ uniSuccessCallback(type, null, callback);
+ }
+ }
+ break;
//鍒涘缓鐢电珯
case HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION: {
//EventBus浜嬩欢鍒嗗彂
@@ -174,10 +191,11 @@
HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL,
HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION,
getKeyValue("data", data));
+ if (callback != null) {
+ uniSuccessCallback(type, null, callback);
+ }
}
- if (callback != null) {
- uniSuccessCallback(type, null, callback);
- }
+
break;
//璇诲彇璇︽儏
case HDLUniMP.UNI_EVENT_REPLY_HOME_DETAILS: {
@@ -233,6 +251,7 @@
}
break;
+
}
@@ -539,6 +558,13 @@
}
break;
+ //鍛樺伐璇︽儏鑾峰彇
+ case HDLUniMP.UNI_EVENT_REPLY_STAFF_DETAIL: {
+ uniGetStaffInfo(type, data, callback);
+
+ }
+
+ break;
//鍛樺伐鍒犻櫎
case HDLUniMP.UNI_EVENT_REPLY_STAFF_DELETE: {
@@ -627,12 +653,6 @@
HdlLogLogic.print("uni---缁勮uni鍙戦�佹暟鎹牸寮�---" + json, false);
}
- public void openUniMPDelay(String path, JSONObject jsonObject) {
- JSONObject json = this.createdJSONObject(jsonObject, true);
- HDLUniMPSDKManager.getInstance().openUniMPDelay(HDLUniMP.UNI_APP_ID, path, json, HdlUniLogic.this);
- HdlLogLogic.print("uni---缁勮uni鍙戦�佹暟鎹牸寮�---" + json, false);
- }
-
/**
* 鍘熺敓銆愪富鍔ㄣ�戝悜灏忕▼搴忓彂閫侀�氱煡浜嬩欢
* 娉ㄦ剰锛氶渶瑕佹彁鍓嶅皬绋嬪簭鍦ㄨ繍琛屾墠鍙垚鍔�
@@ -662,10 +682,15 @@
* 鐢电珯鍒犻櫎
*/
private void uniGetDelResidence(String type, Object data, DCUniMPJSCallback callback) {
+
+
String homeId = getKeyValue("homeId", getKeyValue("data", data));
HdlResidenceLogic.getInstance().delResidence(homeId, new CloudCallBeak<Boolean>() {
@Override
public void onSuccess(Boolean obj) {
+ if (callback != null) {
+ uniSuccessCallback(type, null, callback);
+ }
List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId);
for (int i = 0; i < list.size(); i++) {
GatewayBean gatewayBean = list.get(i);
@@ -674,9 +699,33 @@
list.clear();//娓呯┖缂撳瓨;
// HDLLinkLocalGateway.getInstance().getGatewayList().clear();
HdlResidenceLogic.getInstance().delHouseId(homeId);//鍒犻櫎鐢电珯缂撳瓨
- //uni鏀跺埌鎴愬姛缁撴灉鍝嶅簲鍚�,浼氳嚜鍔ㄥ叧闂皬绋嬪簭锛屽湪HDLUniMPSDKManager绫婚噷闈㈡湁鏂规硶()鐩戝惉鍒板皬绋嬪簭鍏抽棴锛岀洃鍚埌灏忕▼搴忓叧闂簨浠跺悗锛屼細閲嶆柊鑾峰彇鐢电珯鍒楄〃杩涜鍒风晫闈紱
- uniSuccessCallback(type, obj, callback);
+ if (UserConfigManage.getInstance().isBAccount()) {
+ //B绔�
+ //鏀跺埌鎴愬姛缁撴灉鍝嶅簲鍚�,浼氳嚜鍔ㄥ叧闂皬绋嬪簭锛屽湪HDLUniMPSDKManager绫婚噷闈㈡湁鏂规硶()鐩戝惉鍒板皬绋嬪簭鍏抽棴锛岀洃鍚埌灏忕▼搴忓叧闂簨浠跺悗锛屼細閲嶆柊鑾峰彇鐢电珯鍒楄〃杩涜鍒风晫闈紱
+ if (null != HDLUniMPSDKManager.getInstance().getUniMP()) {
+ HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
+ }
+ } else {
+ //C绔�
+ List<HouseIdBean> HouseIdList = HdlResidenceLogic.getInstance().getHouseIdList();
+ if (HouseIdList.size() == 0) {
+ String path = HDLUniMP.UNI_EVENT_OPEN_HOME_Null_C;
+ HdlUniLogic.getInstance().openUniMP(path, null);
+ } else {
+ HouseIdBean houseIdBean = HouseIdList.get(0);//榛樿鎷跨涓�涓�
+ HdlResidenceLogic.getInstance().switchHouse(houseIdBean);
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("homeId", houseIdBean.getHomeId());
+ jsonObject.addProperty("homeName", houseIdBean.getHomeName());
+ jsonObject.addProperty("powerStationStatus", houseIdBean.getPowerStationStatus() + "");
+ HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+ uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_DETAILS);
+ uniCallBackBaseBean.setData(jsonObject);
+ HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
+ }
+
+ }
}
@Override
@@ -719,6 +768,10 @@
@Override
public void onSuccess(Boolean obj) {
uniSuccessCallback(type, obj, callback);
+ //鏀跺埌鎴愬姛缁撴灉鍝嶅簲鍚�,浼氳嚜鍔ㄥ叧闂皬绋嬪簭锛屽湪HDLUniMPSDKManager绫婚噷闈㈡湁鏂规硶()鐩戝惉鍒板皬绋嬪簭鍏抽棴锛岀洃鍚埌灏忕▼搴忓叧闂簨浠跺悗锛屼細閲嶆柊鑾峰彇鐢电珯鍒楄〃杩涜鍒风晫闈紱
+ if (null != HDLUniMPSDKManager.getInstance().getUniMP()) {
+ HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
+ }
}
@Override
@@ -791,7 +844,7 @@
}
/**
- * 鍛樺伐娣诲姞
+ * 鍛樺伐鍒犻櫎
*/
private void uniGetStaffDelete(String type, Object data, DCUniMPJSCallback callback) {
StaffBean staffBean = new StaffBean();
@@ -841,14 +894,32 @@
}
/**
+ * 鑾峰彇鍛樺伐璇︽儏
+ */
+ private void uniGetStaffInfo(String type, Object data, DCUniMPJSCallback callback) {
+ String userId = getKeyValue("userId", getKeyValue("data", data));
+ HdlMemberLogic.getInstance().getStaffInfo(userId, new CloudCallBeak<StaffBean>() {
+ @Override
+ public void onSuccess(StaffBean obj) {
+ uniSuccessCallback(type, obj, callback);
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ uniExceptionCallback(type, e, callback);
+ }
+ });
+ }
+
+ /**
* 鑾峰彇鍛樺伐鍒楄〃
*/
private void uniGetStaffList(String type, Object data, DCUniMPJSCallback callback) {
long pageNo = Long.parseLong(getKeyValue("pageNo", getKeyValue("data", data)));
long pageSize = Long.parseLong(getKeyValue("pageSize", getKeyValue("data", data)));
- HdlMemberLogic.getInstance().getStaffList(pageNo, pageSize, new CloudCallBeak<PageNumberObject<List<StaffBean>>>() {
+ HdlMemberLogic.getInstance().getStaffList(pageNo, pageSize, new CloudCallBeak<PageNumberObject<StaffBean>>() {
@Override
- public void onSuccess(PageNumberObject<List<StaffBean>> obj) {
+ public void onSuccess(PageNumberObject<StaffBean> obj) {
uniSuccessCallback(type, obj.getList(), callback);
}
@@ -858,6 +929,7 @@
}
});
}
+
/**
* 鎴愬憳缂栬緫
@@ -1957,9 +2029,12 @@
private void uniDelInverterDevice(String type, Object data, DCUniMPJSCallback callback) {
String deviceId = getKeyValue("deviceId", getKeyValue("data", data));
String homeId = getKeyValue("homeId", getKeyValue("data", data));
+ String mac = getKeyValue("mac", getKeyValue("data", data));
HdlDeviceLogic.getInstance().delInverterDevice(homeId, deviceId, new CloudCallBeak<Boolean>() {
@Override
public void onSuccess(Boolean obj) {
+ //鍒濆鍖栭�嗗彉鍣ㄨ澶�
+ HdlDeviceLogic.getInstance().initializeInverter(mac, null);
//绉婚櫎鏈湴缂撳瓨
HdlDeviceLogic.getInstance().removeLocalCacheMemoryGatewayToDeviceId(homeId, deviceId);
uniSuccessCallback(type, null, callback);
--
Gitblit v1.8.0