| | |
| | | import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; |
| | | import com.genersoft.iot.vmp.service.IStreamPushService; |
| | | import com.genersoft.iot.vmp.service.bean.PushStreamStatusChangeFromRedisDto; |
| | | import com.genersoft.iot.vmp.service.bean.StreamPushItemFromRedis; |
| | | import com.genersoft.iot.vmp.storager.IRedisCatchStorage; |
| | | import com.genersoft.iot.vmp.storager.IVideoManagerStorage; |
| | | import org.slf4j.Logger; |
| | |
| | | import org.springframework.data.redis.connection.MessageListener; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | |
| | |
| | | |
| | | @Override |
| | | public void onMessage(Message message, byte[] bytes) { |
| | | |
| | | // TODO 增加队列 |
| | | logger.warn("[REDIS 消息-推流设备状态变化]: {}", new String(message.getBody())); |
| | | // |
| | | PushStreamStatusChangeFromRedisDto statusChangeFromPushStream = JSON.parseObject(message.getBody(), PushStreamStatusChangeFromRedisDto.class); |
| | | if (statusChangeFromPushStream == null) { |
| | | logger.warn("[REDIS 消息]推流设备状态变化消息解析失败"); |
| | | return; |
| | | } |
| | | // 取消定时任务 |
| | | dynamicTask.stop(VideoManagerConstants.VM_MSG_GET_ALL_ONLINE_REQUESTED); |
| | | if (statusChangeFromPushStream.isSetAllOffline()) { |
| | | // 所有设备离线 |
| | | streamPushService.allStreamOffline(); |
| | | } |
| | | if (statusChangeFromPushStream.getOfflineStreams().size() > 0) { |
| | | if (statusChangeFromPushStream.getOfflineStreams() != null |
| | | && statusChangeFromPushStream.getOfflineStreams().size() > 0) { |
| | | // 更新部分设备离线 |
| | | streamPushService.offline(statusChangeFromPushStream.getOfflineStreams()); |
| | | } |
| | | if (statusChangeFromPushStream.getOnlineStreams().size() > 0) { |
| | | if (statusChangeFromPushStream.getOnlineStreams() != null && |
| | | statusChangeFromPushStream.getOnlineStreams().size() > 0) { |
| | | // 更新部分设备上线 |
| | | streamPushService.online(statusChangeFromPushStream.getOnlineStreams()); |
| | | } |