mac
2024-07-01 46f45f42abf00acf70e8160e73faa71aec3df13d
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -137,7 +137,7 @@
     * @param homeId 电站id
     * @param mac    逆变器mac
     */
    public void removeLocalCacheMemoryGateway(String homeId, String mac) {
    public void removeLocalCacheMemoryGatewayToMac(String homeId, String mac) {
        if (TextUtils.isEmpty(mac)) {
            return;
        }
@@ -149,6 +149,33 @@
        for (int i = 0; i < list.size(); i++) {
            GatewayBean gatewayBean = list.get(i);
            if (gatewayBean.getDevice_mac().equals(mac)) {
                index = i;
                break;
            }
        }
        if (index > 0) {
            list.remove(index);
        }
    }
    /**
     * 移除缓存列表里面逆变器
     *
     * @param homeId   电站id
     * @param deviceId 逆变器deviceId
     */
    public void removeLocalCacheMemoryGatewayToDeviceId(String homeId, String deviceId) {
        if (TextUtils.isEmpty(deviceId)) {
            return;
        }
        List<GatewayBean> list = getCurrentHomeGatewayList(homeId);
        if (list == null || list.size() == 0) {
            return;
        }
        int index = -1;
        for (int i = 0; i < list.size(); i++) {
            GatewayBean gatewayBean = list.get(i);
            if (gatewayBean.getDeviceId().equals(deviceId)) {
                index = i;
                break;
            }
@@ -1042,7 +1069,19 @@
                HdlDeviceLogic.getInstance().getCloudInverterDeviceList(homeId, new CloudCallBeak<List<CloudInverterDeviceBean>>() {
                    @Override
                    public void onSuccess(List<CloudInverterDeviceBean> list) {
                        ///情况1:有局域网,有外网;
                        List<String> removeSidList = new ArrayList<>();
                        for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) {
                            GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j);
                            if (!querySidInverter(list, gatewayBean.getSid())) {
                                //本地有,云端没有,删除本地;
                                removeSidList.add(gatewayBean.getSid());
                            }
                        }
                        for (int i = 0; i < removeSidList.size(); i++) {
                            //删除本地的逆变器
                            removeLocalInverter(removeSidList.get(i));
                        }
                        //情况1:有局域网,有外网;
                        setDeviceRemoteInfo(list, homeId, cloudCallBeak);
                    }