|
|
@@ -6,6 +6,7 @@ import cn.reghao.jutil.jdk.result.Result;
|
|
|
import cn.reghao.jutil.tool.id.IdGenerator;
|
|
|
import cn.reghao.oss.sdk.model.dto.media.ImageInfo;
|
|
|
import cn.reghao.oss.sdk.model.dto.media.VideoInfo;
|
|
|
+import cn.reghao.oss.sdk.model.dto.media.VideoUrlDto;
|
|
|
import cn.reghao.tnb.common.auth.UserContext;
|
|
|
import cn.reghao.tnb.content.api.constant.PostScope;
|
|
|
import cn.reghao.tnb.content.api.constant.VideoStatus;
|
|
|
@@ -33,7 +34,7 @@ import java.util.*;
|
|
|
@Slf4j
|
|
|
@Service
|
|
|
public class VideoPostServiceImpl implements VideoPostService {
|
|
|
- @DubboReference(check = false)
|
|
|
+ @DubboReference(check = false, timeout = 60_000)
|
|
|
private OssService ossService;
|
|
|
@DubboReference(check = false)
|
|
|
private JobService jobService;
|
|
|
@@ -43,17 +44,20 @@ public class VideoPostServiceImpl implements VideoPostService {
|
|
|
private final VideoStatisticMapper videoStatisticMapper;
|
|
|
private final VideoTagMapper videoTagMapper;
|
|
|
private final VideoPostTagMapper videoPostTagMapper;
|
|
|
+ private final VideoFileMapper videoFileMapper;
|
|
|
private final IdGenerator idGenerator;
|
|
|
private final VideoRepository videoRepository;
|
|
|
private final VideoCategoryPostMapper videoCategoryPostMapper;
|
|
|
|
|
|
public VideoPostServiceImpl(VideoPostMapper videoPostMapper, VideoStatisticMapper videoStatisticMapper,
|
|
|
VideoTagMapper videoTagMapper, VideoPostTagMapper videoPostTagMapper,
|
|
|
- VideoRepository videoRepository, VideoCategoryPostMapper videoCategoryPostMapper) {
|
|
|
+ VideoFileMapper videoFileMapper, VideoRepository videoRepository,
|
|
|
+ VideoCategoryPostMapper videoCategoryPostMapper) {
|
|
|
this.videoPostMapper = videoPostMapper;
|
|
|
this.videoStatisticMapper = videoStatisticMapper;
|
|
|
this.videoTagMapper = videoTagMapper;
|
|
|
this.videoPostTagMapper = videoPostTagMapper;
|
|
|
+ this.videoFileMapper = videoFileMapper;
|
|
|
this.idGenerator = new IdGenerator("video-id");
|
|
|
this.videoRepository = videoRepository;
|
|
|
this.videoCategoryPostMapper = videoCategoryPostMapper;
|
|
|
@@ -79,7 +83,8 @@ public class VideoPostServiceImpl implements VideoPostService {
|
|
|
return Result.fail(errMsg);
|
|
|
}
|
|
|
|
|
|
- VideoFile videoFile = new VideoFile(videoInfo);
|
|
|
+ String videoId = idGenerator.getUuid();
|
|
|
+ VideoFile videoFile = new VideoFile(videoId, videoInfo, channelCode);
|
|
|
String videoCodec = videoInfo.getVideoCodec();
|
|
|
String audioCodec = videoInfo.getAudioCodec();
|
|
|
if (audioCodec == null) {
|
|
|
@@ -98,7 +103,6 @@ public class VideoPostServiceImpl implements VideoPostService {
|
|
|
ossService.setObjectScope(channelCode, videoFileId, scope);
|
|
|
}
|
|
|
|
|
|
- String videoId = idGenerator.getUuid();
|
|
|
Set<String> tags = videoPublishSbt.getTags();
|
|
|
String tags1 = tags.toString().replace("[", "").replace("]", "");
|
|
|
|
|
|
@@ -223,19 +227,23 @@ public class VideoPostServiceImpl implements VideoPostService {
|
|
|
}
|
|
|
|
|
|
public void updateVideoScope(VideoScopeUpdate videoScopeUpdate) {
|
|
|
- VideoPost videoPost = videoPostMapper.findByVideoId(videoScopeUpdate.getVideoId());
|
|
|
+ String videoId = videoScopeUpdate.getVideoId();
|
|
|
+ VideoPost videoPost = videoPostMapper.findByVideoId(videoId);
|
|
|
if (videoPost == null) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- String videoFileId = videoPost.getVideoFileId();
|
|
|
- try {
|
|
|
- int channelId = videoPost.getChannelId();
|
|
|
- int scope = videoScopeUpdate.getScope();
|
|
|
- ossService.setObjectScope(channelId, videoFileId, scope);
|
|
|
- videoPostMapper.updateVideoScope(videoScopeUpdate);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
+ List<VideoUrlDto> list = videoFileMapper.findVideoUrls(videoId);
|
|
|
+ for (VideoUrlDto videoUrlDto : list) {
|
|
|
+ String videoFileId = videoUrlDto.getObjectId();
|
|
|
+ try {
|
|
|
+ int channelId = videoUrlDto.getChannelCode();
|
|
|
+ int scope = videoScopeUpdate.getScope();
|
|
|
+ ossService.setObjectScope(channelId, videoFileId, scope);
|
|
|
+ videoPostMapper.updateVideoScope(videoScopeUpdate);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -287,25 +295,27 @@ public class VideoPostServiceImpl implements VideoPostService {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- String videoFileId = videoFileUpdate.getVideoFileId();
|
|
|
- try {
|
|
|
- int channelId = 101;
|
|
|
- VideoInfo videoInfo = ossService.getVideoInfo(channelId, videoFileId);
|
|
|
- if (videoInfo == null) {
|
|
|
- log.error("{} not exist", videoFileId);
|
|
|
- return;
|
|
|
- }
|
|
|
+ List<VideoUrlDto> list = videoFileMapper.findVideoUrls(videoId);
|
|
|
+ for (VideoUrlDto videoUrlDto : list) {
|
|
|
+ String videoFileId = videoFileUpdate.getVideoFileId();
|
|
|
+ try {
|
|
|
+ int channelId = 101;
|
|
|
+ VideoInfo videoInfo = ossService.getVideoInfo(channelId, videoFileId);
|
|
|
+ if (videoInfo == null) {
|
|
|
+ log.error("{} not exist", videoFileId);
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
- videoPostMapper.updateVideoFile(videoId, videoInfo);
|
|
|
- int scope = videoPost.getScope();
|
|
|
- if (scope != PostScope.PRIVATE.getCode()) {
|
|
|
- ossService.setObjectScope(channelId, videoId, scope);
|
|
|
- }
|
|
|
+ videoPostMapper.updateVideoFile(videoId, videoInfo);
|
|
|
+ int scope = videoPost.getScope();
|
|
|
+ if (scope != PostScope.PRIVATE.getCode()) {
|
|
|
+ ossService.setObjectScope(channelId, videoId, scope);
|
|
|
+ }
|
|
|
|
|
|
- String currentVideoFileId = videoPost.getVideoFileId();
|
|
|
- ossService.deleteByObjectId(channelId, currentVideoFileId);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
+ ossService.deleteByObjectId(channelId, videoFileId);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -318,12 +328,15 @@ public class VideoPostServiceImpl implements VideoPostService {
|
|
|
|
|
|
String coverUrl = videoPost.getCoverUrl();
|
|
|
deleteCoverFile(coverUrl);
|
|
|
- String videoFileId = videoPost.getVideoFileId();
|
|
|
- try {
|
|
|
- int channelId = videoPost.getChannelId();
|
|
|
- ossService.deleteByObjectId(channelId, videoFileId);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
+ List<VideoUrlDto> list = videoFileMapper.findVideoUrls(videoId);
|
|
|
+ for (VideoUrlDto videoUrlDto : list) {
|
|
|
+ String videoFileId = videoUrlDto.getObjectId();
|
|
|
+ try {
|
|
|
+ int channelId = videoUrlDto.getChannelCode();
|
|
|
+ ossService.deleteByObjectId(channelId, videoFileId);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|