From dff60bc721754a09fc2cd530bb75aa7bf9c01810 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 28 四月 2021 19:49:44 +0800 Subject: [PATCH] Bilibili集成完善 --- src/main/java/com/yeshi/buwan/service/imp/juhe/BilibiliVideoServiceImpl.java | 65 +++++++++++++++++++++++++++++--- 1 files changed, 59 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/juhe/BilibiliVideoServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/juhe/BilibiliVideoServiceImpl.java index 5d2c456..2a1e797 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/juhe/BilibiliVideoServiceImpl.java +++ b/src/main/java/com/yeshi/buwan/service/imp/juhe/BilibiliVideoServiceImpl.java @@ -5,14 +5,22 @@ import com.yeshi.buwan.dao.juhe.bilibili.BilibiliSearchVideoMapDao; import com.yeshi.buwan.dao.juhe.bilibili.BilibiliVideoDao; import com.yeshi.buwan.domain.VideoDetailInfo; +import com.yeshi.buwan.domain.video.InternetSearchVideo; import com.yeshi.buwan.service.inter.juhe.BilibiliVideoService; +import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService; +import com.yeshi.buwan.tencent.entity.TencentSearchVideoMap; +import com.yeshi.buwan.util.factory.InternetSearchVideoFactory; +import com.yeshi.buwan.videos.bilibili.BilibiliUtil; import com.yeshi.buwan.videos.bilibili.entity.BilibiliEpInfo; import com.yeshi.buwan.videos.bilibili.entity.BilibiliMediaInfo; import com.yeshi.buwan.videos.bilibili.entity.BilibiliSearchVideoMap; import com.yeshi.buwan.videos.bilibili.entity.BilibiliVideo; +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.ArrayList; import java.util.Date; import java.util.List; @@ -26,6 +34,8 @@ private BilibiliVideoDao bilibiliVideoDao; @Resource private BilibiliSearchVideoMapDao bilibiliSearchVideoMapDao; + @Resource + private InternetSearchVideoService internetSearchVideoService; @Override @@ -36,8 +46,10 @@ bilibiliMediaInfoDao.save(mediaInfo); if (mediaInfo.getEpList() != null) { + int orderBy = 0; for (BilibiliEpInfo ep : mediaInfo.getEpList()) { ep.setMediaId(mediaInfo.getMedia_id()); + ep.setOrderBy(++orderBy); if (ep.getCreateTime() == null) ep.setCreateTime(new Date()); bilibiliEpInfoDao.save(ep); @@ -65,8 +77,9 @@ @Override public BilibiliMediaInfo getSimpleMediaDetail(Long mediaId) { - BilibiliMediaInfo mediaInfo = bilibiliMediaInfoDao.get(mediaId); - return mediaInfo; + Query query = new Query(); + query.addCriteria(Criteria.where("_id").is(mediaId)); + return bilibiliMediaInfoDao.findOne(query); } @Override @@ -98,21 +111,61 @@ @Override public List<VideoDetailInfo> getVideoDetailList(String videoid, int page, int pageSize) { + BilibiliSearchVideoMap map = selectMapByVideoId(videoid); + if (map == null) + return null; + + if (map.getMediaId() != null) { + BilibiliMediaInfo bilibiliMediaInfo = bilibiliMediaInfoDao.get(map.getMediaId()); + List<BilibiliEpInfo> bilibiliEpInfos = bilibiliEpInfoDao.listByMediaId(map.getMediaId(), (page - 1) * pageSize, pageSize); + List<VideoDetailInfo> list = BilibiliUtil.convertToDetail(bilibiliEpInfos, bilibiliMediaInfo); + return list; + } else if (map.getVid() != null) { + BilibiliVideo video = bilibiliVideoDao.get(map.getVid()); + VideoDetailInfo detailInfo = BilibiliUtil.convertToDetail(video); + if (detailInfo == null) + return null; + List<VideoDetailInfo> detailInfoList = new ArrayList<>(); + detailInfoList.add(detailInfo); + return detailInfoList; + } + + return null; } @Override public BilibiliSearchVideoMap selectMapByVideoId(String videoId) { - return null; + return bilibiliSearchVideoMapDao.selectByVideoId(videoId); } @Override public void addToInternetSearch(BilibiliMediaInfo mediaInfo) throws Exception { - + if (mediaInfo == null) + return; + save(mediaInfo); + InternetSearchVideo video = InternetSearchVideoFactory.create(mediaInfo); + if (internetSearchVideoService.save(video) == null) { + return; + } + BilibiliSearchVideoMap map = new BilibiliSearchVideoMap(); + map.setMediaId(mediaInfo.getMedia_id()); + map.setVideoId(video.getId()); + map.setCreateTime(new Date()); + bilibiliSearchVideoMapDao.save(map); } @Override - public void addToInternetSearch(BilibiliVideo video) throws Exception { - + public void addToInternetSearch(BilibiliVideo video, Integer videoType) throws Exception { + save(video); + InternetSearchVideo internetSearchVideo = InternetSearchVideoFactory.create(video, videoType); + if (internetSearchVideoService.save(internetSearchVideo) == null) { + return; + } + BilibiliSearchVideoMap map = new BilibiliSearchVideoMap(); + map.setVid(video.getAid() + ""); + map.setVideoId(internetSearchVideo.getId()); + map.setCreateTime(new Date()); + bilibiliSearchVideoMapDao.save(map); } } -- Gitblit v1.8.0