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/Iqiyi2ServiceImpl.java |   92 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 82 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/service/imp/juhe/Iqiyi2ServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/juhe/Iqiyi2ServiceImpl.java
index f0fe5b5..d9b4fec 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/juhe/Iqiyi2ServiceImpl.java
+++ b/src/main/java/com/yeshi/buwan/service/imp/juhe/Iqiyi2ServiceImpl.java
@@ -6,29 +6,42 @@
 import com.yeshi.buwan.dao.video.AlbumVideoMapDao;
 import com.yeshi.buwan.domain.*;
 import com.yeshi.buwan.domain.entity.PlayUrl;
+import com.yeshi.buwan.domain.solr.SolrAlbumVideo;
 import com.yeshi.buwan.domain.system.SystemConfig;
 import com.yeshi.buwan.domain.video.AlbumVideoMap;
-import com.yeshi.buwan.iqiyi.IqiYiNewAPI;
-import com.yeshi.buwan.iqiyi.entity.IqiyiAlbum2;
-import com.yeshi.buwan.iqiyi.entity.VideoIqiyi2;
-import com.yeshi.buwan.iqiyi.util.IqiyiUtil;
-import com.yeshi.buwan.iqiyi.util.IqiyiUtil2;
+import com.yeshi.buwan.dto.mq.UpdateResourceVideoMQMsg;
+import com.yeshi.buwan.exception.video.IqiyiVideoSolrException;
+import com.yeshi.buwan.videos.iqiyi.IqiYiNewAPI;
+import com.yeshi.buwan.videos.iqiyi.entity.IqiyiAlbum2;
+import com.yeshi.buwan.videos.iqiyi.entity.VideoIqiyi2;
+import com.yeshi.buwan.videos.iqiyi.util.IqiyiUtil;
+import com.yeshi.buwan.videos.iqiyi.util.IqiyiUtil2;
 import com.yeshi.buwan.query.Iqiyi2AlbumQuery;
-import com.yeshi.buwan.service.imp.*;
+import com.yeshi.buwan.service.imp.CategoryVideoService;
+import com.yeshi.buwan.service.imp.ResourceVideoService;
+import com.yeshi.buwan.service.imp.VideoInfoService;
+import com.yeshi.buwan.service.imp.VideoResourceService;
+import com.yeshi.buwan.service.inter.juhe.AlbumVideoMapService;
 import com.yeshi.buwan.service.inter.juhe.Iqiyi2Service;
 import com.yeshi.buwan.service.inter.system.SystemConfigService;
+import com.yeshi.buwan.service.manager.search.SolrAlbumVideoDataManager;
 import com.yeshi.buwan.util.StringUtil;
+import com.yeshi.buwan.util.ThreadUtil;
 import com.yeshi.buwan.util.TimeUtil;
 import com.yeshi.buwan.util.log.VideoLogFactory;
 import com.yeshi.buwan.util.mq.CMQManager;
-import com.yeshi.buwan.util.video.VideoConstant;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+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.io.Serializable;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
 import java.util.regex.Pattern;
 
 @Service
@@ -63,13 +76,28 @@
     @Resource
     private SystemConfigService systemConfigService;
 
+    @Resource
+    private AlbumVideoMapService albumVideoMapService;
+
+    @Resource
+    private SolrAlbumVideoDataManager solrAlbumVideoDataManager;
+
     public List<VideoDetailInfo> getVideoDetailList(String videoId, int page, int pageSize) {
         //鏌ヨ涓撹緫
         VideoIqiyi2 videoIqiyi2 = videoIqiyi2Dao.selectByVideoId(Long.parseLong(videoId));
         if (videoIqiyi2 == null)
             return null;
 
-        IqiyiAlbum2 album = iqiyiAlbum2Dao.get(videoIqiyi2.getIqiyiId());
+        final IqiyiAlbum2 album = iqiyiAlbum2Dao.get(videoIqiyi2.getIqiyiId());
+//        if (album != null) {
+        ThreadUtil.run(new Runnable() {
+            @Override
+            public void run() {
+                CMQManager.getInstance().addUpdateResourceVideoMsg(new UpdateResourceVideoMQMsg(videoIqiyi2.getIqiyiId() + "", IqiyiUtil2.RESOURCE_ID, new Date()));
+            }
+        });
+//        }
+
         List<IqiyiAlbum2> album2List = new ArrayList<>();
         if (album.getFeatureAlbumId() > 0) {//鍗曡棰�
             album2List.add(album);
@@ -110,6 +138,16 @@
     public void saveIqiyiAlbum(IqiyiAlbum2 album) {
         iqiyiAlbum2Dao.save(album);
     }
+
+    @Override
+    public void offlineIqiyiAlbum(Long id) {
+        //鍒犻櫎涓撹緫
+        Query query = new Query();
+        query.addCriteria(new Criteria().orOperator(Criteria.where("id").is(id), Criteria.where("featureAlbumId").is(id)));
+        //鍒犻櫎涓撹緫涓嬬殑瑙嗛
+        iqiyiAlbum2Dao.delete(query);
+    }
+
 
     public boolean isUnNormalUpdateVideoName(String name) {
         SystemConfig config = systemConfigService.getConfigByKeyCache("iqiyi_update_video_name");
@@ -217,6 +255,7 @@
 
             //鍔犲叆涓撹緫瑙嗛鏄犲皠
             AlbumVideoMap map = new AlbumVideoMap();
+            map.setId(newVideoInfo.getId());
             map.setCreateTime(new Date());
             map.setVideoId(newVideoInfo.getId());
             map.setRootVideoType(newVideoInfo.getVideoType().getId());
@@ -240,6 +279,7 @@
 
     @Override
     public PlayUrl getPlayUrl(String detailSystemId, int resourceId, String id, String videoId) {
+
         IqiyiAlbum2 album = iqiyiAlbum2Dao.get(Long.parseLong(id));
         VideoResource vr = videoResourceService.getResource(resourceId + "");
         int t = IqiyiUtil2.getPlayType(album);
@@ -253,6 +293,12 @@
         } else if (t == IqiyiUtil2.PLAY_HTML) {
             pu.setUrl(album.getH5Url());
         }
+
+        //闊╁墽
+        if ("48".equalsIgnoreCase(detailSystemId)) {
+            pu.setUrl(pu.getUrl().replace("_bwap", "_hjvap"));
+        }
+
         return pu;
     }
 
@@ -366,9 +412,10 @@
         }
         VideoIqiyi2 bean = videoIqiyi2Dao.selectByIqiyiId(id);
         if (bean != null) {
-            videoIqiyi2Dao.delete(bean.getVideoId());
+            videoIqiyi2Dao.deleteById(bean.getVideoId());
             //鍒犻櫎璧勬簮
             resourceVideoService.delete(bean.getVideoId() + "", IqiyiUtil2.RESOURCE_ID + "");
+            resourceVideoService.delete(bean.getVideoId() + "", IqiyiUtil.RESOURCE_ID + "");
         }
 
     }
@@ -377,4 +424,29 @@
     public List<IqiyiAlbum2> listByIds(List<Long> idsList) {
         return iqiyiAlbum2Dao.listByIds(idsList);
     }
+
+    @Override
+    public void validAlbumSolrState(Long albumId) throws IqiyiVideoSolrException {
+        long count = iqiyiAlbum2Dao.countById(albumId);
+        if (count <= 0L) {
+            throw new IqiyiVideoSolrException(IqiyiVideoSolrException.CODE_ALBUM_NOT_SAVE, "涓撹緫灏氭湭缂撳瓨");
+        }
+        VideoIqiyi2 videoIqiyi2 = videoIqiyi2Dao.selectByIqiyiId(albumId);
+        if (videoIqiyi2 == null) {
+            throw new IqiyiVideoSolrException(IqiyiVideoSolrException.CODE_ALBUM_NOT_ADD_TO_VIDEO, "涓撹緫灏氭湭娣诲姞鍒拌棰戞�昏");
+        }
+
+
+        AlbumVideoMap albumVideoMap = albumVideoMapService.selectByVideoId(videoIqiyi2.getVideoId() + "");
+        if (albumVideoMap == null) {
+            throw new IqiyiVideoSolrException(IqiyiVideoSolrException.CODE_VIDEO_NOT_ADD_TO_SOLR_ALBUM, "瑙嗛鏈坊鍔犲埌涓撹緫鎼滅储鏄犲皠");
+        }
+
+        SolrAlbumVideo solrAlbumVideo = solrAlbumVideoDataManager.findOne(videoIqiyi2.getVideoId());
+        if (solrAlbumVideo == null) {
+            throw new IqiyiVideoSolrException(IqiyiVideoSolrException.CODE_VIDEO_NOT_SYNC_TO_SOLR, "瑙嗛灏氭湭鍚屾鍒版悳绱㈠紩鎿�");
+        }
+
+
+    }
 }

--
Gitblit v1.8.0