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