mac
2023-10-08 a543c926d2c994c96acd1923cecc5253d5cf45f2
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -38,7 +38,6 @@
import java.util.ArrayList;
import java.util.List;
import io.reactivex.rxjava3.disposables.Disposable;
/**
 * 设备逻辑
@@ -110,6 +109,31 @@
            public void onSuccess(String str) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(true);
                    //临时的逻辑,上传oid列表到云端
                    getGatewayOidList(mac, new LinkCallBack<List<OidBean>>() {
                        @Override
                        public void onSuccess(List<OidBean> obj) {
                            if (obj == null) {
                                return;
                            }
                            fullUpdateOid(obj, new CloudCallBeak<Boolean>() {
                                @Override
                                public void onSuccess(Boolean obj) {
                                }
                                @Override
                                public void onFailure(HDLException e) {
                                }
                            });
                        }
                        @Override
                        public void onError(HDLLinkException e) {
                        }
                    });
                }
            }
@@ -237,7 +261,7 @@
     * @param cloudCallBeak 回调update
     */
    public void fullUpdateOid(List<OidBean> oidList, CloudCallBeak<Boolean> cloudCallBeak) {
        String requestUrl = HttpApi.POST_Device_ChildDevices_List;
        String requestUrl = HttpApi.POST_Device_Oid;
        JsonObject json = new JsonObject();
        json.addProperty("operationSource", "PROGRAM_ENERGY");//
        json.addProperty("homeId", UserConfigManage.getInstance().getHomeId());
@@ -518,6 +542,12 @@
                            removeInverter(removeSidList.get(i));
                        }
                        for (int i = 0; i < list.size(); i++) {
                            CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i);
                            GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(cloudInverterDeviceBean.getSid());
                            objectAssignment(cloudInverterDeviceBean, gatewayBean);
                        }
                        if (cloudCallBeak != null) {
                            cloudCallBeak.onSuccess(true);
                        }
@@ -549,15 +579,8 @@
                            CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i);
                            //云端对象数据交换到本地对象
                            GatewayBean gatewayBean = new GatewayBean();
                            gatewayBean.setOid(cloudInverterDeviceBean.getOid());
                            gatewayBean.setSid(cloudInverterDeviceBean.getSid());
                            gatewayBean.setGatewayId(cloudInverterDeviceBean.getGatewayId());
                            gatewayBean.setOnline(cloudInverterDeviceBean.isOnline());
                            gatewayBean.setDevice_mac(cloudInverterDeviceBean.getOsn());//设备mac
                            gatewayBean.setDevice_name(cloudInverterDeviceBean.getGatewayName());
                            gatewayBean.setHomeId(UserConfigManage.getInstance().getHomeId());
                            gatewayBean.setLocalEncrypt(true);
                            gatewayBean.setMaster("true");
                            objectAssignment(cloudInverterDeviceBean, gatewayBean);
                            //添加网关
                            HDLLinkLocalGateway.getInstance().getGatewayList().add(gatewayBean);
                        }
@@ -602,6 +625,27 @@
        HDLLinkLocalGateway.getInstance().refreshGatewayByHomeIdAndSpk(UserConfigManage.getInstance().getHomeId(), spks, true, gatewayCallBack);
    }
    private void objectAssignment(CloudInverterDeviceBean cloudInverterDeviceBean, GatewayBean gatewayBean) {
        if (cloudInverterDeviceBean == null || gatewayBean == null) {
            return;
        }
        gatewayBean.setOid(cloudInverterDeviceBean.getOid());
        gatewayBean.setSid(cloudInverterDeviceBean.getSid());
        gatewayBean.setGatewayId(cloudInverterDeviceBean.getGatewayId());
        gatewayBean.setOnline(cloudInverterDeviceBean.isOnline());
        gatewayBean.setDevice_mac(cloudInverterDeviceBean.getOsn());//设备mac
        gatewayBean.setDevice_name(cloudInverterDeviceBean.getGatewayName());
        gatewayBean.setHomeId(UserConfigManage.getInstance().getHomeId());
        gatewayBean.setLocalEncrypt(true);
        gatewayBean.setMaster("true");
        gatewayBean.setSystemStatusDesc(cloudInverterDeviceBean.getSystemStatusDesc());
        gatewayBean.setHwVersion(cloudInverterDeviceBean.getHwVersion());
        gatewayBean.setCategorySecondName(cloudInverterDeviceBean.getCategorySecondName());
        gatewayBean.setDeviceId(cloudInverterDeviceBean.getDeviceId());
    }
    /**
     * 获取网关spk列表
     *