From 51b8dbe7428581659ea8bf889b5681ba6363cc4e Mon Sep 17 00:00:00 2001 From: easonzhu Date: Fri, 21 Feb 2025 11:12:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=9A=E6=97=B6=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E4=B8=8D=E6=94=AF=E6=8C=81=E5=BD=95=E6=92=AD=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/admin/AdminVideoInteractionService.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/syzb/video/service/admin/AdminVideoInteractionService.java b/src/main/java/com/syzb/video/service/admin/AdminVideoInteractionService.java index c29d194..9eb7698 100644 --- a/src/main/java/com/syzb/video/service/admin/AdminVideoInteractionService.java +++ b/src/main/java/com/syzb/video/service/admin/AdminVideoInteractionService.java @@ -32,6 +32,7 @@ import javax.annotation.Resource; import javax.validation.constraints.NotNull; import java.time.LocalDateTime; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; // admin交互Service @@ -571,15 +572,13 @@ public class AdminVideoInteractionService { Set videoIds = onlineMap.values().stream().map(OnlineUser::getProductId).collect(Collectors.toSet()); LocalDateTime now = LocalDateTime.now(); List videoLives = videoLiveMapper.selectList(Wrappers.lambdaQuery().in(VideoLive::getId, videoIds)); - Map videoStatusMap = videoLives.stream().collect(Collectors.toMap(VideoLive::getId, VideoLive::getLiveStatus)); + Map videoMap = videoLives.stream().collect(Collectors.toMap(VideoLive::getId, Function.identity())); LocalDateTime time = now.withSecond(0).withNano(0); LocalDateTime startTime = now.plusMinutes(-1); List onLineList = onlineUsers.stream().map(user -> { Integer videoId = user.getProductId(); - Integer liveStatus = videoStatusMap.get(videoId); - if (liveStatus == null) { - return null; - } + VideoLive videoLive = videoMap.get(videoId); + Integer liveStatus = videoLive.getLiveStatus(); if (IsOrNot.IS.value.equals(user.getIsOnline()) || (user.getExitTime() != null && user.getExitTime().isAfter(startTime))) { boolean calIsPlay = Objects.equals(VideoLiveStatus.LIVING.value, liveStatus) || Objects.equals(VideoLiveStatus.HAS_ENDED.value, liveStatus); VideoUserFlow videoUserFlow = new VideoUserFlow();