zhaowenyu
2025-12-08 4ccb6e629d3c39521435046e94d5bec927861247
2025-12-07 zwy 整理代码
2 files modified
38 ■■■■■ changed files
ard-sample/src/main/java/com/ard/sample/component/mqtt/handler/StateLiveStatusHandler.java 36 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/manage/service/impl/DockOnlineServiceImpl.java 2 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/component/mqtt/handler/StateLiveStatusHandler.java
@@ -39,25 +39,27 @@
            String deviceSn= stateReceiver.getGateway();
            DeviceQueryParam param = DeviceQueryParam.builder().deviceSn(deviceSn).build();
            List<DeviceDTO> deviceDTOS = _deviceService.getDevicesByParams(param);
            // List<DeviceDTO> gatewaysList = _deviceService.getDevicesByParams(DeviceQueryParam.builder().childSn(deviceSn).build());
            String childSn = deviceDTOS.get(0).getChildDeviceSn();
            List<LiveStatusTwoReceiver> list = mapper.convertValue(dataNode.get(StateDataEnum.LIVESTATUS.getDesc()), new TypeReference<List<LiveStatusTwoReceiver>>() {});
            for (LiveStatusTwoReceiver receiver : list) {
                if(receiver.getVideoId().contains(childSn)){
                    stateReceiver.setData(receiver);
                    continue;
            if(deviceDTOS!=null && deviceDTOS.size()>0)
            {
                String childSn = deviceDTOS.get(0).getChildDeviceSn();
                List<LiveStatusTwoReceiver> list = mapper.convertValue(dataNode.get(StateDataEnum.LIVESTATUS.getDesc()), new TypeReference<List<LiveStatusTwoReceiver>>() {});
                for (LiveStatusTwoReceiver receiver : list) {
                    if(receiver.getVideoId().contains(childSn)){
                        stateReceiver.setData(receiver);
                        continue;
                    }
                }
                stateReceiver.setGateway(childSn);
                String liveStatus = "";
                try{
                    liveStatus=mapper.writeValueAsString(stateReceiver);
                }
                catch (Exception e){
                    log.error("接收state直播设备状态反馈转换异常:{}",e);
                }
                _deviceService.setChildRedisCamera(childSn, liveStatus);
            }
            stateReceiver.setGateway(childSn);
            String liveStatus = "";
            try{
                liveStatus=mapper.writeValueAsString(stateReceiver);
            }
            catch (Exception e){
                log.error("接收state直播设备状态反馈转换异常:{}",e);
            }
            _deviceService.setChildRedisCamera(childSn, liveStatus);
            log.info("接收state直播设备状态反馈:{}",liveStatus);
            return stateReceiver;
        }
        return handler.handleState(dataNode, stateReceiver, sn);
ard-sample/src/main/java/com/ard/sample/manage/service/impl/DockOnlineServiceImpl.java
@@ -56,7 +56,7 @@
            if(!_deviceService.checkDeviceOnline(device.getChildDeviceSn())){
                _deviceService.updateWorkType(device.getChildDeviceSn(), 6L);
                RedisOpsUtils.del(RedisConst.WEBSOCKET_VIDEO_ADDRESS_PREFIX + device.getChildDeviceSn());
                RedisOpsUtils.del(RedisConst.COVER_STATE_PREFIX + device.getDeviceSn());
                RedisOpsUtils.del(RedisConst.COVER_STATE_PREFIX + device.getChildDeviceSn());
            }
        }
    }