From 351b317c56487676b4f5a60b5bc3710a383d7a7b Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 26 三月 2021 17:33:33 +0800
Subject: [PATCH] 全网搜腾讯完善

---
 src/main/java/com/yeshi/buwan/service/imp/juhe/TencentVideoServiceImpl.java |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 108 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/service/imp/juhe/TencentVideoServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/juhe/TencentVideoServiceImpl.java
index 4521a0f..9a34ee2 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/juhe/TencentVideoServiceImpl.java
+++ b/src/main/java/com/yeshi/buwan/service/imp/juhe/TencentVideoServiceImpl.java
@@ -1,16 +1,24 @@
 package com.yeshi.buwan.service.imp.juhe;
 
 import com.yeshi.buwan.dao.juhe.tencent.TencentCoverInfoDao;
+import com.yeshi.buwan.dao.juhe.tencent.TencentCoverVideoDao;
+import com.yeshi.buwan.dao.juhe.tencent.TencentSearchVideoMapDao;
+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.TencentVideoService;
+import com.yeshi.buwan.tencent.TencentVideoUtil;
 import com.yeshi.buwan.tencent.entity.TencentCoverInfo;
-import com.yeshi.buwan.youku.entity.YouKuShowDetail;
-import com.yeshi.buwan.youku.entity.YouKuVideo;
+import com.yeshi.buwan.tencent.entity.TencentCoverVideo;
+import com.yeshi.buwan.tencent.entity.TencentSearchVideoMap;
+import com.yeshi.buwan.util.factory.InternetSearchVideoFactory;
 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.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -18,36 +26,125 @@
 public class TencentVideoServiceImpl implements TencentVideoService {
 
     @Resource
+    private TencentSearchVideoMapDao tencentSearchVideoMapDao;
+
+    @Resource
     private TencentCoverInfoDao tencentCoverInfoDao;
+    @Resource
+    private TencentCoverVideoDao tencentCoverVideoDao;
+    @Resource
+    private InternetSearchVideoService internetSearchVideoService;
 
     @Override
-    public void save(TencentCoverInfo detail) {
+    public void save(TencentCoverInfo detail) throws Exception {
+        List<TencentCoverVideo> videoList = new ArrayList<>();
+        for (TencentCoverInfo.VipIdsBean idsBean : detail.getVip_ids()) {
+            TencentCoverVideo video = new TencentCoverVideo();
+            video.setCoverId(detail.getCover_id());
+            video.setPosition(idsBean.getP());
+            video.setStage(idsBean.getP() + 1);
+            video.setVideoId(idsBean.getV());
+            video.setLink(String.format("https://v.qq.com/x/cover/%s/%s.html", detail.getCover_id(), idsBean.getV()));
+            if (idsBean.getF() == 2 || idsBean.getF() == 7)
+                videoList.add(video);
+        }
+        detail.setVideoList(videoList);
+
+
         if (detail.getUpdateTime() == null)
             detail.setUpdateTime(new Date());
         tencentCoverInfoDao.save(detail);
+        if (detail.getVideoList() != null)
+            for (TencentCoverVideo video : detail.getVideoList()) {
+                if (video.getUpdateTime() == null) {
+                    video.setUpdateTime(new Date());
+                }
+
+                tencentCoverVideoDao.save(video);
+            }
+
+        internetSearchVideoService.save(InternetSearchVideoFactory.create(detail));
     }
 
     @Override
-    public TencentCoverInfo getConverDetail(String id) {
-        TencentCoverInfo detail = tencentCoverInfoDao.get(id);
+    public TencentCoverInfo getCoverDetail(String coverId) {
+        TencentCoverInfo detail = tencentCoverInfoDao.get(coverId);
+        Query query = new Query();
+        if (detail != null) {
+            query.addCriteria(Criteria.where("coverId").is(coverId));
+        }
+        query.with(new Sort(new Sort.Order(Sort.Direction.ASC, "show_videoseq")));
+        List<TencentCoverVideo> videoList = tencentCoverVideoDao.findList(query);
+        detail.setVideoList(videoList);
         return detail;
     }
 
     @Override
-    public long count(String type) {
+    public TencentCoverInfo getSimpleCoverDetail(String coverId) {
+        TencentCoverInfo detail = tencentCoverInfoDao.get(coverId);
+        return detail;
+    }
+
+    @Override
+    public List<TencentCoverVideo> getVideoList(String coverId, int page, int pageSize) {
         Query query = new Query();
-        if (type != null)
-            query.addCriteria(Criteria.where("type").is(type));
+        query.addCriteria(Criteria.where("coverId").is(coverId));
+        query.with(new Sort(new Sort.Order(Sort.Direction.ASC, "position")));
+        query.skip((page - 1) * pageSize);
+        query.limit(pageSize);
+        List<TencentCoverVideo> videoList = tencentCoverVideoDao.findList(query);
+        return videoList;
+    }
+
+    @Override
+    public TencentCoverVideo getVideoDetail(String id) {
+        return tencentCoverVideoDao.get(id);
+    }
+
+
+    @Override
+    public long count(String category) {
+        Query query = new Query();
+        if (category != null)
+            query.addCriteria(Criteria.where("type_name").is(category));
         return tencentCoverInfoDao.count(query);
     }
 
     @Override
-    public List<TencentCoverInfo> list(String type, int page, int pageSize) {
+    public List<TencentCoverInfo> list(String category, int page, int pageSize) {
         Query query = new Query();
-        if (type != null)
-            query.addCriteria(Criteria.where("type").is(type));
+        if (category != null)
+            query.addCriteria(Criteria.where("type_name").is(category));
         query.limit(pageSize);
         query.skip((page - 1) * pageSize);
         return tencentCoverInfoDao.findList(query);
     }
+
+    @Override
+    public List<VideoDetailInfo> getVideoDetailList(String videoid, int page, int pageSize) {
+        TencentSearchVideoMap map = tencentSearchVideoMapDao.selectByVideoId(videoid);
+        if (map == null)
+            return null;
+        TencentCoverInfo coverInfo = tencentCoverInfoDao.get(map.getCoverId());
+
+        return TencentVideoUtil.convertToDetail(getVideoList(map.getCoverId(), page, pageSize), coverInfo);
+    }
+
+    @Override
+    public TencentSearchVideoMap selectMapByVideoId(String videoId) {
+        TencentSearchVideoMap map = tencentSearchVideoMapDao.selectByVideoId(videoId);
+        return map;
+    }
+
+    @Override
+    public void addToInternetSearch(TencentCoverInfo showDetail) throws Exception {
+        InternetSearchVideo video = InternetSearchVideoFactory.create(showDetail);
+        internetSearchVideoService.save(video);
+        TencentSearchVideoMap map = new TencentSearchVideoMap();
+        map.setCoverId(showDetail.getId());
+        map.setVideoId(video.getId());
+        map.setCreateTime(new Date());
+        tencentSearchVideoMapDao.save(map);
+    }
+
 }

--
Gitblit v1.8.0