修复结束直播隐藏问题
This commit is contained in:
parent
601d339055
commit
67ffe48eee
@ -535,7 +535,7 @@ public class AdminVideoInfoService {
|
|||||||
if (isSoldOut) {
|
if (isSoldOut) {
|
||||||
//下架修改直播状态和推流状态
|
//下架修改直播状态和推流状态
|
||||||
video.setLiveStatus(VideoLiveStatus.HAS_ENDED.value);
|
video.setLiveStatus(VideoLiveStatus.HAS_ENDED.value);
|
||||||
videoCommonService.endVideo(null, new VideoLive(id, VideoLiveStatus.HAS_ENDED.value, now));
|
videoCommonService.endVideo(null, new VideoLive(id, VideoLiveStatus.HAS_ENDED.value, now), false);
|
||||||
}
|
}
|
||||||
if (VideoLiveStatus.LIVING.value.equals(videoInDb.getLiveStatus())) {
|
if (VideoLiveStatus.LIVING.value.equals(videoInDb.getLiveStatus())) {
|
||||||
video.setRealEndTime(now);
|
video.setRealEndTime(now);
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.syzb.video.service.common;
|
package com.syzb.video.service.common;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
@ -215,7 +216,7 @@ public class VideoCommonService {
|
|||||||
Integer totalReadCount = adminVideoInteractionService.queryInteractionCount(v.getId(), VideoUserRecordType.READ, null, null, false);
|
Integer totalReadCount = adminVideoInteractionService.queryInteractionCount(v.getId(), VideoUserRecordType.READ, null, null, false);
|
||||||
entity.setLiveNum(totalReadCount);
|
entity.setLiveNum(totalReadCount);
|
||||||
videoLiveMapper.updateById(entity);
|
videoLiveMapper.updateById(entity);
|
||||||
endVideo(cacheMap, v);
|
endVideo(cacheMap, v, true);
|
||||||
adminVideoQuestionService.stopByVideoId(v.getId());
|
adminVideoQuestionService.stopByVideoId(v.getId());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -248,11 +249,21 @@ public class VideoCommonService {
|
|||||||
* @param cacheMap 缓存
|
* @param cacheMap 缓存
|
||||||
* @param video 直播信息
|
* @param video 直播信息
|
||||||
*/
|
*/
|
||||||
public void endVideo(Map<String, Object> cacheMap, VideoLive video) {
|
public void endVideo(Map<String, Object> cacheMap, VideoLive video, boolean isTask) {
|
||||||
// 清除直播状态缓存
|
// 清除直播状态缓存
|
||||||
videoCacheService.clearVideoInfoCache(video.getId(), cacheMap);
|
videoCacheService.clearVideoInfoCache(video.getId(), cacheMap);
|
||||||
// 已结束,中断投顾推流
|
// 已结束,禁推投顾推流
|
||||||
videoCloudService.dropLiveStream(video.getId());
|
try {
|
||||||
|
if (isTask) {
|
||||||
|
videoCloudService.stopRecordTask(video);
|
||||||
|
videoCloudService.forbidLiveStream(video.getId().toString());
|
||||||
|
} else {
|
||||||
|
videoCloudService.dropLiveStream(video.getId());
|
||||||
|
}
|
||||||
|
} catch(Exception e) {
|
||||||
|
// 忽略异常
|
||||||
|
LoggerUtil.error("结束直播失败:", ExceptionUtil.stacktraceToString(e));
|
||||||
|
}
|
||||||
// 直播结束通知
|
// 直播结束通知
|
||||||
videoMessageService.publishLiveStatusNotification(video.getId(), VideoLiveStatus.HAS_ENDED.value);
|
videoMessageService.publishLiveStatusNotification(video.getId(), VideoLiveStatus.HAS_ENDED.value);
|
||||||
// 直播状态推送(pc)
|
// 直播状态推送(pc)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user