From 89e370bfdda29ac8a8f7080a18dc09a6ddc75c09 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 26 十月 2020 18:42:16 +0800
Subject: [PATCH] 风行爱奇艺视频更新

---
 src/main/java/com/yeshi/buwan/util/SpringContext.java |  153 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 147 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/util/SpringContext.java b/src/main/java/com/yeshi/buwan/util/SpringContext.java
index 074f17b..54be0b3 100644
--- a/src/main/java/com/yeshi/buwan/util/SpringContext.java
+++ b/src/main/java/com/yeshi/buwan/util/SpringContext.java
@@ -1,23 +1,55 @@
 package com.yeshi.buwan.util;
 
-import com.yeshi.buwan.funtv.FunTVUtil;
+import com.yeshi.buwan.domain.ResourceVideo;
+import com.yeshi.buwan.domain.VideoInfo;
+import com.yeshi.buwan.dto.mq.CMQResult;
+import com.yeshi.buwan.dto.mq.FunTVAlbum2MQMsg;
+import com.yeshi.buwan.dto.mq.IqiyiAlbum2MQMsg;
+import com.yeshi.buwan.dto.mq.SolrVideoMQMsg;
+import com.yeshi.buwan.funtv.entity.FunTVAlbum2;
+import com.yeshi.buwan.iqiyi.entity.IqiyiAlbum2;
+import com.yeshi.buwan.service.imp.JobThreadExecutorServiceImpl;
+import com.yeshi.buwan.service.imp.ResourceVideoService;
+import com.yeshi.buwan.service.imp.VideoInfoService;
+import com.yeshi.buwan.service.inter.juhe.FunTV2Service;
+import com.yeshi.buwan.service.inter.juhe.Iqiyi2Service;
+import com.yeshi.buwan.service.manager.SolrAlbumDataManager;
+import com.yeshi.buwan.util.mq.CMQManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.context.ApplicationListener;
 import org.springframework.context.event.ContextRefreshedEvent;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
- * 系统初始化
+ * 绯荤粺鍒濆鍖�
  *
  * @author Administrator
  */
 @Component
 public class SpringContext implements ApplicationListener<ContextRefreshedEvent> {
+
     @Resource
-    private FunTVUtil funTVUtil;
+    private VideoInfoService videoInfoService;
+
+    @Resource
+    private SolrAlbumDataManager solrDataManager;
+
+    @Resource
+    private Iqiyi2Service iqiyi2Service;
+
+    @Resource
+    private FunTV2Service funTV2Service;
+
+    @Resource
+    private ResourceVideoService resourceVideoService;
 
     private static boolean isInited = false;
+
+    private final static Logger logger = LoggerFactory.getLogger(SpringContext.class);
 
     public void onApplicationEvent(ContextRefreshedEvent arg0) {
         if (arg0.getApplicationContext().getParent() != null) {
@@ -29,13 +61,122 @@
     private synchronized void onApplication(ContextRefreshedEvent context) {
         if (!isInited) {
             isInited = true;
-            System.out.println("系统初始化成功");
+            System.out.println("绯荤粺鍒濆鍖栨垚鍔�");
             init();
         }
     }
 
-    private void init(){
-//        funTVUtil.startParseShortVideo();
+    private void init() {
+        if (!Constant.JobTasker) {
+            doSolrJob();
+            doAddIqiyi2Video();
+            doAddFunTV2Video();
+            doDeleteVideoResource();
+        }
     }
 
+    private void doSolrJob() {
+        new JobThreadExecutorServiceImpl().run(new Runnable() {
+            @Override
+            public void run() {
+                    List<SolrVideoMQMsg> solrMsgList = CMQManager.getInstance().consumeSolrMsg(16);
+                    if (solrMsgList != null)
+                        for (SolrVideoMQMsg solrVideo : solrMsgList) {
+                            try {
+                                VideoInfo videoInfo = videoInfoService.getVideoInfo(solrVideo.getId());
+                                if (videoInfo != null) {
+                                    if ("1".equalsIgnoreCase(videoInfo.getShow()))
+                                        solrDataManager.saveOrUpdate(videoInfo);
+                                    else
+                                        solrDataManager.deleteById(videoInfo.getId());
+                                }
+                                CMQManager.getInstance().deleteSolrMsg(solrVideo.getHandler());
+                            } catch (Exception e) {
+
+                            }
+                        }
+            }
+        });
+    }
+
+
+    private void doAddIqiyi2Video() {
+        new JobThreadExecutorServiceImpl().run(new Runnable() {
+            @Override
+            public void run() {
+                    List<IqiyiAlbum2MQMsg> iqiyiAlbumMsgList = CMQManager.getInstance().consumeIqiyiAlbumUpdateMsg(16);
+                    if (iqiyiAlbumMsgList != null)
+                        for (IqiyiAlbum2MQMsg iqiyiAlbum2MQMsg : iqiyiAlbumMsgList) {
+                            try {
+                                Long qikuID = iqiyiAlbum2MQMsg.getId();
+                                IqiyiAlbum2 album2 = iqiyi2Service.selectAlbumById(qikuID);
+                                if (album2 != null) {
+                                    iqiyi2Service.addToVideoInfo(album2);
+                                }
+                                CMQManager.getInstance().deleteIqiyiAlbumUpdateMsg(iqiyiAlbum2MQMsg.getHandler());
+                            } catch (Exception e) {
+                                logger.error("鐖卞鑹轰笓杈戞坊鍔犲埌瑙嗛鍑洪敊锛�" + e.getMessage());
+                                logger.error("ID:" + iqiyiAlbum2MQMsg.getId());
+                            }
+                        }
+                }
+        });
+
+    }
+
+
+    private void doAddFunTV2Video() {
+        new JobThreadExecutorServiceImpl().run(new Runnable() {
+            @Override
+            public void run() {
+                    List<FunTVAlbum2MQMsg> funTVAlbum2MsgList = CMQManager.getInstance().consumeFunTVAlbumUpdateMsg(16);
+                    if (funTVAlbum2MsgList != null)
+                        for (FunTVAlbum2MQMsg funTVAlbum2MQMsg : funTVAlbum2MsgList) {
+                            try {
+                                String mediaId = funTVAlbum2MQMsg.getId();
+                                FunTVAlbum2 album2 = funTV2Service.getAlbumDetail(mediaId);
+                                if (album2 != null) {
+                                    funTV2Service.processAlbum(album2);
+                                }
+                                CMQManager.getInstance().deleteFunTVAlbumUpdateMsg(funTVAlbum2MQMsg.getHandler());
+                            } catch (Exception e) {
+                                logger.error("椋庤涓撹緫娣诲姞鍒拌棰戝嚭閿欙細" + e.getMessage());
+                                logger.error("ID:" + funTVAlbum2MQMsg.getId());
+                            }
+                        }
+            }
+        });
+
+    }
+
+    private void doDeleteVideoResource() {
+        new JobThreadExecutorServiceImpl().run(new Runnable() {
+            @Override
+            public void run() {
+                while (true) {
+                    List<CMQResult> cmqMsgList = CMQManager.getInstance().consumeVideoResourceDeleteMsg(16);
+                    if (cmqMsgList != null)
+                        for (CMQResult msg : cmqMsgList) {
+                            try {
+                                String videoId = msg.getData() + "";
+                                //鏌ヨ璧勬簮鍒楄〃
+                                List<ResourceVideo> resourceVideoList = resourceVideoService.getResourceList(videoId);
+                                //闅愯棌瑙嗛
+                                if (resourceVideoList == null || resourceVideoList.size() == 0)
+                                    videoInfoService.hiddenVideo(videoId);
+                                //鏇存柊鎼滅储寮曟搸
+                                CMQManager.getInstance().addSolrMsg(videoId);
+                                CMQManager.getInstance().deleteVideoResourceDeleteMsg(msg.getHandler());
+                            } catch (Exception e) {
+                                logger.error("瑙嗛璧勬簮鍒犻櫎澶勭悊鍑洪敊锛�" + e.getMessage());
+                                logger.error("ID:" + msg.getData());
+                            }
+                        }
+                }
+            }
+        });
+
+    }
+
+
 }

--
Gitblit v1.8.0