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