From f788607ff771a47bc60d6a86e00b3433c40f3d2c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 24 九月 2021 15:22:03 +0800 Subject: [PATCH] 接入视频直播 --- src/main/java/com/yeshi/buwan/service/imp/juhe/YouKuServiceImpl.java | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 101 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/juhe/YouKuServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/juhe/YouKuServiceImpl.java index 86fd596..71d62b5 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/juhe/YouKuServiceImpl.java +++ b/src/main/java/com/yeshi/buwan/service/imp/juhe/YouKuServiceImpl.java @@ -1,25 +1,41 @@ package com.yeshi.buwan.service.imp.juhe; +import com.yeshi.buwan.dao.juhe.youku.YouKuSearchVideoMapDao; import com.yeshi.buwan.dao.juhe.youku.YouKuShowDetailDao; import com.yeshi.buwan.dao.juhe.youku.YouKuVideoDao; +import com.yeshi.buwan.domain.VideoDetailInfo; +import com.yeshi.buwan.domain.video.InternetSearchVideo; +import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService; import com.yeshi.buwan.service.inter.juhe.YouKuService; -import com.yeshi.buwan.youku.entity.YouKuShowDetail; -import com.yeshi.buwan.youku.entity.YouKuVideo; +import com.yeshi.buwan.util.factory.InternetSearchVideoFactory; +import com.yeshi.buwan.videos.youku.YouKuUtil; +import com.yeshi.buwan.videos.youku.entity.YouKuSearchVideoMap; +import com.yeshi.buwan.videos.youku.entity.YouKuShowDetail; +import com.yeshi.buwan.videos.youku.entity.YouKuVideo; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; +import java.util.List; @Service public class YouKuServiceImpl implements YouKuService { @Resource + private YouKuSearchVideoMapDao youKuSearchVideoMapDao; + + @Resource private YouKuShowDetailDao youKuShowDetailDao; @Resource private YouKuVideoDao youKuVideoDao; + @Resource + private InternetSearchVideoService internetSearchVideoService; @Override - public void save(YouKuShowDetail detail) { + public void save(YouKuShowDetail detail) throws Exception { if (detail.getUpdateTime() == null) detail.setUpdateTime(new Date()); youKuShowDetailDao.save(detail); @@ -31,4 +47,86 @@ youKuVideoDao.save(video); } } + + @Override + public YouKuShowDetail getShowDetail(String showId) { + YouKuShowDetail detail = youKuShowDetailDao.get(showId); + Query query = new Query(); + if (detail != null) { + query.addCriteria(Criteria.where("showId").is(showId)); + } + query.with(new Sort(new Sort.Order(Sort.Direction.ASC, "show_videoseq"))); + List<YouKuVideo> videoList = youKuVideoDao.findList(query); + detail.setVideoList(videoList); + return detail; + } + + @Override + public YouKuShowDetail getSimpleShowDetail(String showId) { + YouKuShowDetail detail = youKuShowDetailDao.get(showId); + return detail; + } + + @Override + public List<YouKuVideo> getVideoList(String showId, int page, int pageSize) { + Query query = new Query(); + query.addCriteria(Criteria.where("showId").is(showId)); + query.with(new Sort(new Sort.Order(Sort.Direction.ASC, "show_videoseq"))); + query.skip((page - 1) * pageSize); + query.limit(pageSize); + List<YouKuVideo> videoList = youKuVideoDao.findList(query); + return videoList; + } + + @Override + public YouKuVideo getVideoDetail(String id) { + return youKuVideoDao.get(id); + } + + + @Override + public long count(String category) { + Query query = new Query(); + if (category != null) + query.addCriteria(Criteria.where("category").is(category)); + return youKuShowDetailDao.count(query); + } + + @Override + public List<YouKuShowDetail> list(String category, int page, int pageSize) { + Query query = new Query(); + if (category != null) + query.addCriteria(Criteria.where("category").is(category)); + query.limit(pageSize); + query.skip((page - 1) * pageSize); + return youKuShowDetailDao.findList(query); + } + + @Override + public List<VideoDetailInfo> getVideoDetailList(String videoid, int page, int pageSize) { + YouKuSearchVideoMap map = youKuSearchVideoMapDao.selectByVideoId(videoid); + if (map == null) + return null; + return YouKuUtil.convertToDetail(getVideoList(map.getShowId(), page, pageSize)); + } + + @Override + public YouKuSearchVideoMap selectByVideoId(String videoId) { + YouKuSearchVideoMap map = youKuSearchVideoMapDao.selectByVideoId(videoId); + return map; + } + + @Override + public void addToInternetSearch(YouKuShowDetail showDetail) throws Exception { + save(showDetail); + InternetSearchVideo video = InternetSearchVideoFactory.create(showDetail); + if (internetSearchVideoService.save(video) == null) { + return; + } + YouKuSearchVideoMap map = new YouKuSearchVideoMap(); + map.setShowId(showDetail.getId()); + map.setVideoId(video.getId()); + map.setCreateTime(new Date()); + youKuSearchVideoMapDao.save(map); + } } -- Gitblit v1.8.0