mac
2024-04-02 05581cb7328000de65c5e8c1ef12b366b44b11b1
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -1,5 +1,6 @@
package com.hdl.photovoltaic.other;
import android.os.SystemClock;
import android.text.TextUtils;
import com.facebook.imagepipeline.image.OriginalEncodedImageInfo;
@@ -102,7 +103,6 @@
        List<OidBean> oidList = new ArrayList<>();
        AtomicInteger atomicInteger = new AtomicInteger(0);
        for (int i = 0; i < list.size(); i++) {
            atomicInteger.set(atomicInteger.get() + 1);
            GatewayBean gatewayBean = list.get(i);
            if (gatewayBean == null || TextUtils.isEmpty(gatewayBean.getDevice_mac())) {
                continue;
@@ -110,11 +110,28 @@
            getInverterOidList(gatewayBean.getDevice_mac(), new LinkCallBack<List<OidBean>>() {
                @Override
                public void onSuccess(List<OidBean> oidBeanList) {
                    atomicInteger.set(atomicInteger.get() + 1);
                    if (oidBeanList == null) {
                        return;
                    }
                    oidList.addAll(oidBeanList);
                    if (atomicInteger.get() == list.size()) {
                        if (oidList.size() == 0) {
                            return;
                        }
//                        //增量添加oid
//                        updateOidAdd(homeId, oidList, new CloudCallBeak<Boolean>() {
//                            @Override
//                            public void onSuccess(Boolean obj) {
//                                HdlLogLogic.print("上传oid列表到云端成功--->住宅id:" + homeId + "--->mac:" + gatewayBean.getDevice_mac(), true);
//                            }
//
//                            @Override
//                            public void onFailure(HDLException e) {
//                                HdlLogLogic.print("上传oid列表到云端失败--->住宅id:" + homeId + "--->mac:" + gatewayBean.getDevice_mac() + "-->" + e.getMsg() + "(" + e.getCode() + ")", true);
//                            }
//                        });
                        //全部获取后再上传
                        fullUpdateOid(homeId, oidList, new CloudCallBeak<Boolean>() {
                            @Override
@@ -132,9 +149,26 @@
                @Override
                public void onError(HDLLinkException e) {
                    HdlLogLogic.print("获取逆变器oid列表失败--->住宅id:" + homeId + "--->mac:" + gatewayBean.getDevice_mac() + "-->" + e.getMsg() + "(" + e.getCode() + ")", true);
                    atomicInteger.set(atomicInteger.get() + 1);
                    if (oidList.size() == 0) {
                        HdlLogLogic.print("获取逆变器oid列表失败--->住宅id:" + homeId + "--->mac:" + gatewayBean.getDevice_mac() + "-->" + e.getMsg() + "(" + e.getCode() + ")", true);
                        return;
                    }
                    //增量添加oid
                    updateOidAdd(homeId, oidList, new CloudCallBeak<Boolean>() {
                        @Override
                        public void onSuccess(Boolean obj) {
                            HdlLogLogic.print("上传oid列表到云端成功--->住宅id:" + homeId + "--->mac:" + gatewayBean.getDevice_mac(), true);
                        }
                        @Override
                        public void onFailure(HDLException e) {
                            HdlLogLogic.print("上传oid列表到云端失败--->住宅id:" + homeId + "--->mac:" + gatewayBean.getDevice_mac() + "-->" + e.getMsg() + "(" + e.getCode() + ")", true);
                        }
                    });
                }
            });
            SystemClock.sleep(200);
        }
@@ -213,7 +247,7 @@
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(true);
                    //临时的逻辑,上传oid列表到云端(去掉,原因是我上传成功后,网关再次全量上传oid列表,会把之前oid列表覆盖掉)
//                    uploadDataToCloud(homeId, list, null);
                    uploadDataToCloud(homeId, list, null);
                }
            }