| | |
| | | package com.hdl.photovoltaic.other; |
| | | |
| | | import android.os.SystemClock; |
| | | import android.text.TextUtils; |
| | | |
| | | import com.facebook.imagepipeline.image.OriginalEncodedImageInfo; |
| | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | |
| | | @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); |
| | | } |
| | | |
| | | |
| | |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(true); |
| | | //临时的逻辑,上传oid列表到云端(去掉,原因是我上传成功后,网关再次全量上传oid列表,会把之前oid列表覆盖掉) |
| | | // uploadDataToCloud(homeId, list, null); |
| | | uploadDataToCloud(homeId, list, null); |
| | | } |
| | | } |
| | | |