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/util/mq/CMQManager.java |  216 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 210 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/util/mq/CMQManager.java b/src/main/java/com/yeshi/buwan/util/mq/CMQManager.java
index 9f9145b..146daa3 100644
--- a/src/main/java/com/yeshi/buwan/util/mq/CMQManager.java
+++ b/src/main/java/com/yeshi/buwan/util/mq/CMQManager.java
@@ -1,8 +1,9 @@
 package com.yeshi.buwan.util.mq;
 
+import com.google.gson.Gson;
 import com.qcloud.cmq.Message;
-import com.yeshi.buwan.dto.mq.IqiyiAlbum2MQMsg;
-import com.yeshi.buwan.dto.mq.SolrVideoMQMsg;
+import com.yeshi.buwan.dto.mq.*;
+import com.yeshi.buwan.util.StringUtil;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -13,9 +14,27 @@
     private static CMQManager cmqManager;
     private static CMQUtil cmqUtil;
     // 鎼滅储寮曟搸
-    public static String QUEUENAME_SOLR = "buwan-solr";
+    public static String QUEUENAME_SOLR = "buwan-solr-new";
     //瑙嗛鏇存柊-鐖卞鑹�2
     public static String QUEUENAME_VIDEO_UPDATE_IQIYI_2 = "buwan-video-update-iqiyi2";
+    //瑙嗛鏇存柊-椋庤2
+    public static String QUEUENAME_VIDEO_UPDATE_FUNTV_2 = "buwan-video-update-funtv2";
+
+    //瑙嗛鏇存柊-PPTV
+    public static String QUEUENAME_VIDEO_UPDATE_PPTV = "buwan-video-update-pptv";
+
+    //鍒犻櫎瑙嗛璧勬簮
+    public static String QUEUENAME_VIDEO_RESOURCE_DELETE = "buwan-video-resource-delete";
+
+    //鏇存柊瑙嗛闄勫姞淇℃伅
+    public static String QUEUENAME_UPDATE_VIDEO_EXTRAINFO = "buwan-video-video-update-extrainfo";
+
+    //鍏ㄧ綉鎼�
+    public static String QUEUENAME_UPDATE_INTERNET_SEARCH = "buwan-video-update-internet-search";
+
+    public static String QUEUENAME_UPDATE_RESOURCE_VIDEO = "buwan-video-update-resource-video";
+
+    private static String TOPIC_VIDEO_EXTRAINFO = "buwan_topic_video_extrainfo_change";
 
 
     static {
@@ -23,6 +42,23 @@
         // 鏈�澶ф秷鎭负1M
         cmqUtil.createQueue(QUEUENAME_SOLR, 1024 * 1024);
         cmqUtil.createQueue(QUEUENAME_VIDEO_UPDATE_IQIYI_2, 1024 * 1024);
+        cmqUtil.createQueue(QUEUENAME_VIDEO_UPDATE_FUNTV_2, 1024 * 1024);
+        cmqUtil.createQueue(QUEUENAME_VIDEO_UPDATE_PPTV, 1024 * 1024);
+        cmqUtil.createQueue(QUEUENAME_VIDEO_RESOURCE_DELETE, 1024 * 1024);
+        cmqUtil.createQueue(QUEUENAME_UPDATE_VIDEO_EXTRAINFO, 1024 * 1024);
+        cmqUtil.createQueue(QUEUENAME_UPDATE_INTERNET_SEARCH, 1024 * 1024);
+        cmqUtil.createQueue(QUEUENAME_UPDATE_RESOURCE_VIDEO, 1024 * 1024);
+
+        //鍒涘缓涓婚
+        cmqUtil.createTopic(TOPIC_VIDEO_EXTRAINFO);
+        //璁㈤槄涓婚
+        try {
+            List<String> filters = new ArrayList<>();
+            filters.add("resource");
+            filters.add("category");
+            cmqUtil.subscribeTopic(TOPIC_VIDEO_EXTRAINFO, StringUtil.Md5(TOPIC_VIDEO_EXTRAINFO + "#" + QUEUENAME_UPDATE_VIDEO_EXTRAINFO), QUEUENAME_UPDATE_VIDEO_EXTRAINFO, filters);
+        } catch (Exception e) {
+        }
     }
 
     public static CMQManager getInstance() {
@@ -33,12 +69,12 @@
 
 
     //娣诲姞涓撹緫鏇存柊娑堟伅
-    public void addAlbumUpdateMsg(Long id) {
+    public void addIqiyiAlbumUpdateMsg(Long id) {
         cmqUtil.sendMsg(QUEUENAME_VIDEO_UPDATE_IQIYI_2, id + "");
     }
 
     //娑堣垂涓撹緫鏇存柊娑堟伅
-    public List<IqiyiAlbum2MQMsg> consumeAlbumUpdateMsg(int count) {
+    public List<IqiyiAlbum2MQMsg> consumeIqiyiAlbumUpdateMsg(int count) {
         List<IqiyiAlbum2MQMsg> list = new ArrayList<>();
         List<Message> msgList = cmqUtil.recieveMsg(count, QUEUENAME_VIDEO_UPDATE_IQIYI_2);
         if (msgList != null)
@@ -52,8 +88,62 @@
     }
 
     //鍒犻櫎涓撹緫鏇存柊娑堟伅
-    public void deleteAlbumUpdateMsg(String handler) {
+    public void deleteIqiyiAlbumUpdateMsg(String handler) {
         cmqUtil.deleteMsg(QUEUENAME_VIDEO_UPDATE_IQIYI_2, handler);
+    }
+
+
+    //娣诲姞涓撹緫鏇存柊娑堟伅
+    public void addFunTVAlbumUpdateMsg(String id) {
+        cmqUtil.sendMsg(QUEUENAME_VIDEO_UPDATE_FUNTV_2, id);
+    }
+
+    //娑堣垂涓撹緫鏇存柊娑堟伅
+    public List<FunTVAlbum2MQMsg> consumeFunTVAlbumUpdateMsg(int count) {
+        List<FunTVAlbum2MQMsg> list = new ArrayList<>();
+        List<Message> msgList = cmqUtil.recieveMsg(count, QUEUENAME_VIDEO_UPDATE_FUNTV_2);
+        if (msgList != null)
+            for (Message msg : msgList) {
+                FunTVAlbum2MQMsg mm = new FunTVAlbum2MQMsg();
+                mm.setHandler(msg.receiptHandle);
+                mm.setId(msg.msgBody);
+                list.add(mm);
+            }
+        return list;
+    }
+
+
+    //鍒犻櫎涓撹緫鏇存柊娑堟伅
+    public void deleteFunTVAlbumUpdateMsg(String handler) {
+        cmqUtil.deleteMsg(QUEUENAME_VIDEO_UPDATE_FUNTV_2, handler);
+    }
+
+
+    /**
+     * PPTV鍓ч泦鏇存柊
+     */
+
+    //娣诲姞涓撹緫鏇存柊娑堟伅
+    public void addPPTVSeriesUpdateMsg(PPTVMQMsg msg) {
+        cmqUtil.sendMsg(QUEUENAME_VIDEO_UPDATE_PPTV, new Gson().toJson(msg));
+    }
+
+    //娑堣垂涓撹緫鏇存柊娑堟伅
+    public List<PPTVMQMsg> consumePPTVSeriesUpdateMsg(int count) {
+        List<PPTVMQMsg> list = new ArrayList<>();
+        List<Message> msgList = cmqUtil.recieveMsg(count, QUEUENAME_VIDEO_UPDATE_PPTV);
+        if (msgList != null)
+            for (Message msg : msgList) {
+                PPTVMQMsg mm = new Gson().fromJson(msg.msgBody, PPTVMQMsg.class);
+                mm.setHandler(msg.receiptHandle);
+                list.add(mm);
+            }
+        return list;
+    }
+
+    //鍒犻櫎涓撹緫鏇存柊娑堟伅
+    public void deletePPTVSeriesUpdateMsg(String handler) {
+        cmqUtil.deleteMsg(QUEUENAME_VIDEO_UPDATE_PPTV, handler);
     }
 
 
@@ -89,4 +179,118 @@
         cmqUtil.deleteMsg(QUEUENAME_SOLR, handler);
     }
 
+
+    /**
+     * 鍒犻櫎瑙嗛璧勬簮
+     *
+     * @param videoId
+     */
+
+    public void addVideoResourceDeleteMsg(String videoId) {
+        cmqUtil.sendMsg(QUEUENAME_VIDEO_RESOURCE_DELETE, videoId);
+    }
+
+    public List<CMQResult> consumeVideoResourceDeleteMsg(int count) {
+        List<CMQResult> list = new ArrayList<>();
+        List<Message> msgList = cmqUtil.recieveMsg(count, QUEUENAME_VIDEO_RESOURCE_DELETE);
+        if (msgList != null)
+            for (Message msg : msgList) {
+                CMQResult mm = new CMQResult();
+                mm.setHandler(msg.receiptHandle);
+                mm.setData(msg.msgBody);
+                list.add(mm);
+            }
+        return list;
+    }
+
+
+    public void deleteVideoResourceDeleteMsg(String handler) {
+        cmqUtil.deleteMsg(QUEUENAME_VIDEO_RESOURCE_DELETE, handler);
+    }
+
+
+    /**
+     * 瑙嗛闄勫姞淇℃伅鏀瑰彉
+     */
+    public void addVideoExtraInfoChanged(VideoExtraInfoChangeMQMsg msg) {
+        List<String> list = new ArrayList<>();
+        list.add(msg.getType());
+        cmqUtil.publishTopicMessage(TOPIC_VIDEO_EXTRAINFO, new Gson().toJson(msg), list);
+    }
+
+
+    public List<CMQResult> consumeUpdateVideoExtraInfoMsg(int count) {
+        List<CMQResult> list = new ArrayList<>();
+        List<Message> msgList = cmqUtil.recieveMsg(count, QUEUENAME_UPDATE_VIDEO_EXTRAINFO);
+        if (msgList != null)
+            for (Message msg : msgList) {
+                CMQResult mm = new CMQResult();
+                mm.setHandler(msg.receiptHandle);
+                mm.setData(new Gson().fromJson(msg.msgBody, VideoExtraInfoChangeMQMsg.class));
+                list.add(mm);
+            }
+        return list;
+    }
+
+    public void deleteUpdateVideoExtraInfoMsg(String handler) {
+        cmqUtil.deleteMsg(QUEUENAME_UPDATE_VIDEO_EXTRAINFO, handler);
+    }
+
+
+    /**
+     * 鍏ㄧ綉鎼�
+     *
+     * @param msg
+     */
+
+    public void addInternetSearchVideoUpdateMsg(InternetSearchVideoMQMsg msg) {
+        cmqUtil.sendMsg(QUEUENAME_UPDATE_INTERNET_SEARCH, new Gson().toJson(msg));
+    }
+
+    public List<InternetSearchVideoMQMsg> consumeInternetSearchVideoUpdateMsg(int count) {
+        Gson gson = new Gson();
+        List<InternetSearchVideoMQMsg> list = new ArrayList<>();
+        List<Message> msgList = cmqUtil.recieveMsg(count, QUEUENAME_UPDATE_INTERNET_SEARCH);
+        if (msgList != null)
+            for (Message msg : msgList) {
+                InternetSearchVideoMQMsg mm = gson.fromJson(msg.msgBody, InternetSearchVideoMQMsg.class);
+                mm.setHandler(msg.receiptHandle);
+                list.add(mm);
+            }
+        return list;
+    }
+
+
+    public void deleteInternetSearchVideoUpdateMsg(String handler) {
+        cmqUtil.deleteMsg(QUEUENAME_UPDATE_INTERNET_SEARCH, handler);
+    }
+
+    /**
+     * 瑙嗛鏉ユ簮鏇存柊
+     *
+     * @param msg
+     */
+    public void addUpdateResourceVideoMsg(UpdateResourceVideoMQMsg msg) {
+        cmqUtil.sendMsg(QUEUENAME_UPDATE_RESOURCE_VIDEO, new Gson().toJson(msg));
+    }
+
+    public void deleteUpdateResourceVideoMsg(String handler) {
+        cmqUtil.deleteMsg(QUEUENAME_UPDATE_RESOURCE_VIDEO, handler);
+    }
+
+
+    public List<UpdateResourceVideoMQMsg> consumeUpdateResourceVideoMsg(int count) {
+        Gson gson = new Gson();
+        List<UpdateResourceVideoMQMsg> list = new ArrayList<>();
+        List<Message> msgList = cmqUtil.recieveMsg(count, QUEUENAME_UPDATE_RESOURCE_VIDEO);
+        if (msgList != null)
+            for (Message msg : msgList) {
+                UpdateResourceVideoMQMsg mm = gson.fromJson(msg.msgBody, UpdateResourceVideoMQMsg.class);
+                mm.setHandler(msg.receiptHandle);
+                list.add(mm);
+            }
+        return list;
+    }
+
+
 }

--
Gitblit v1.8.0