2021与蓝度共同重构项目,服务端
liuhaonan
2022-05-17 fb842a99734726e628bd0981ccdf80a253534eaa
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -339,8 +339,6 @@
        List<Pole> online = new ArrayList<>();//在线
        List<Pole> offline = new ArrayList<>();//离线
        list.forEach(onLinePole -> {
            System.out.println("online---------------------------------------------------" + ("ONLINE").equals(onLinePole.getOnLineState()));
            System.out.println("online---------------------------------------------------" + (onLinePole.getOnLineState()));
            if (("ONLINE").equals(onLinePole.getOnLineState())) {
                online.add(onLinePole);
            } else if (("OFFLINE").equals(onLinePole.getOnLineState())) {
@@ -440,21 +438,30 @@
                MacCodes.add(post.getDeviceCode());
            }
        }
//
        List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses = MainBoardInvokeSyncService.getInstance().batchGetDeviceState(MacCodes);
        if (deviceStatuses != null) {
            for (Pole post : list) {
                for (BatchGetDeviceStateResponse.DeviceStatus deviceStatus : deviceStatuses) {
                    if (post.getDeviceCode() != null && post.getDeviceCode().equals(deviceStatus.getDeviceName())) {
                        post.setOnLineState(deviceStatus.getStatus());
        List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses=null;
        //拆分list
        List<List<String>> split = CollectionUtil.split(MacCodes, 50);
        for (List<String> splist : split) {
            deviceStatuses=MainBoardInvokeSyncService.getInstance().batchGetDeviceState(splist);
            if (deviceStatuses != null) {
                for (Pole post : list) {
                    for (BatchGetDeviceStateResponse.DeviceStatus deviceStatus : deviceStatuses) {
                        if (post.getDeviceCode() != null && post.getDeviceCode().equals(deviceStatus.getDeviceName())) {
                            post.setOnLineState(deviceStatus.getStatus());
                        }
                    }
                }
                }
            }
        }
//        List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses = MainBoardInvokeSyncService.getInstance().batchGetDeviceState(MacCodes);
        return list;
    }