From f06a592dd1a7e995bf313ccb5efe7dff73ccfc4e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 12 四月 2023 18:25:52 +0800 Subject: [PATCH] 增加本地获取IP归属地/广告优化 --- src/main/java/com/yeshi/buwan/util/mq/CMQManager.java | 210 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 184 insertions(+), 26 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 259c9c3..13a20aa 100644 --- a/src/main/java/com/yeshi/buwan/util/mq/CMQManager.java +++ b/src/main/java/com/yeshi/buwan/util/mq/CMQManager.java @@ -4,21 +4,27 @@ import com.qcloud.cmq.Message; import com.yeshi.buwan.dto.mq.*; import com.yeshi.buwan.util.StringUtil; +import net.sf.json.JSONObject; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; public class CMQManager { private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25"; private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo"; private static CMQManager cmqManager; - private static CMQUtil cmqUtil; + private static TDMQUtil tdmqUtil; // 鎼滅储寮曟搸 - 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"; @@ -26,27 +32,48 @@ //鏇存柊瑙嗛闄勫姞淇℃伅 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"; + + + //鍚屾V2鐗堟湰鐨勮棰戜俊鎭� + public static String QUEUENAME_VIDEO_SYNCDATA_V2 = "buwan-video-syncdata-v2"; + private static String TOPIC_VIDEO_EXTRAINFO = "buwan_topic_video_extrainfo_change"; + //瑙嗛淇℃伅淇敼 + private static String TOPIC_VIDEO_INFO_CHANGE = "buwan_topic_video_info_change"; + static { - cmqUtil = CMQUtil.getInstance(secretId, secretKey); + tdmqUtil = TDMQUtil.getInstance(); + tdmqUtil.init(secretId, secretKey, true); + + // 鏈�澶ф秷鎭负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_RESOURCE_DELETE, 1024 * 1024); - cmqUtil.createQueue(QUEUENAME_UPDATE_VIDEO_EXTRAINFO, 1024 * 1024); + tdmqUtil.createQueue(QUEUENAME_SOLR, 1024 * 1024); + tdmqUtil.createQueue(QUEUENAME_VIDEO_UPDATE_IQIYI_2, 1024 * 1024); + tdmqUtil.createQueue(QUEUENAME_VIDEO_UPDATE_FUNTV_2, 1024 * 1024); + tdmqUtil.createQueue(QUEUENAME_VIDEO_UPDATE_PPTV, 1024 * 1024); + tdmqUtil.createQueue(QUEUENAME_VIDEO_RESOURCE_DELETE, 1024 * 1024); + tdmqUtil.createQueue(QUEUENAME_UPDATE_VIDEO_EXTRAINFO, 1024 * 1024); + tdmqUtil.createQueue(QUEUENAME_UPDATE_INTERNET_SEARCH, 1024 * 1024); + tdmqUtil.createQueue(QUEUENAME_UPDATE_RESOURCE_VIDEO, 1024 * 1024); + tdmqUtil.createQueue(QUEUENAME_VIDEO_SYNCDATA_V2, 1024 * 1024); //鍒涘缓涓婚 - cmqUtil.createTopic(TOPIC_VIDEO_EXTRAINFO); + tdmqUtil.createTopic(TOPIC_VIDEO_EXTRAINFO); + tdmqUtil.createTopic(TOPIC_VIDEO_INFO_CHANGE); //璁㈤槄涓婚 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); + tdmqUtil.subscribeTopic(TOPIC_VIDEO_EXTRAINFO, "subscribe_" + StringUtil.Md5(TOPIC_VIDEO_EXTRAINFO + "#" + QUEUENAME_UPDATE_VIDEO_EXTRAINFO), QUEUENAME_UPDATE_VIDEO_EXTRAINFO, filters); + tdmqUtil.subscribeTopic(TOPIC_VIDEO_INFO_CHANGE, "subscribe_" + StringUtil.Md5(TOPIC_VIDEO_INFO_CHANGE + "#" + QUEUENAME_VIDEO_SYNCDATA_V2), QUEUENAME_VIDEO_SYNCDATA_V2); } catch (Exception e) { } } @@ -60,13 +87,13 @@ //娣诲姞涓撹緫鏇存柊娑堟伅 public void addIqiyiAlbumUpdateMsg(Long id) { - cmqUtil.sendMsg(QUEUENAME_VIDEO_UPDATE_IQIYI_2, id + ""); + tdmqUtil.sendMsg(QUEUENAME_VIDEO_UPDATE_IQIYI_2, id + ""); } //娑堣垂涓撹緫鏇存柊娑堟伅 public List<IqiyiAlbum2MQMsg> consumeIqiyiAlbumUpdateMsg(int count) { List<IqiyiAlbum2MQMsg> list = new ArrayList<>(); - List<Message> msgList = cmqUtil.recieveMsg(count, QUEUENAME_VIDEO_UPDATE_IQIYI_2); + List<Message> msgList = tdmqUtil.recieveMsg(count, QUEUENAME_VIDEO_UPDATE_IQIYI_2); if (msgList != null) for (Message msg : msgList) { IqiyiAlbum2MQMsg mm = new IqiyiAlbum2MQMsg(); @@ -79,19 +106,20 @@ //鍒犻櫎涓撹緫鏇存柊娑堟伅 public void deleteIqiyiAlbumUpdateMsg(String handler) { - cmqUtil.deleteMsg(QUEUENAME_VIDEO_UPDATE_IQIYI_2, handler); + tdmqUtil.deleteMsg(QUEUENAME_VIDEO_UPDATE_IQIYI_2, handler); + } //娣诲姞涓撹緫鏇存柊娑堟伅 public void addFunTVAlbumUpdateMsg(String id) { - cmqUtil.sendMsg(QUEUENAME_VIDEO_UPDATE_FUNTV_2, id); + tdmqUtil.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); + List<Message> msgList = tdmqUtil.recieveMsg(count, QUEUENAME_VIDEO_UPDATE_FUNTV_2); if (msgList != null) for (Message msg : msgList) { FunTVAlbum2MQMsg mm = new FunTVAlbum2MQMsg(); @@ -102,9 +130,43 @@ return list; } + //鍒犻櫎涓撹緫鏇存柊娑堟伅 public void deleteFunTVAlbumUpdateMsg(String handler) { - cmqUtil.deleteMsg(QUEUENAME_VIDEO_UPDATE_FUNTV_2, handler); + + tdmqUtil.deleteMsg(QUEUENAME_VIDEO_UPDATE_FUNTV_2, handler); + + + } + + + /** + * PPTV鍓ч泦鏇存柊 + */ + + //娣诲姞涓撹緫鏇存柊娑堟伅 + public void addPPTVSeriesUpdateMsg(PPTVMQMsg msg) { + tdmqUtil.sendMsg(QUEUENAME_VIDEO_UPDATE_PPTV, new Gson().toJson(msg)); + } + + //娑堣垂涓撹緫鏇存柊娑堟伅 + public List<PPTVMQMsg> consumePPTVSeriesUpdateMsg(int count) { + List<PPTVMQMsg> list = new ArrayList<>(); + List<Message> msgList = tdmqUtil.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) { + + tdmqUtil.deleteMsg(QUEUENAME_VIDEO_UPDATE_PPTV, handler); + } @@ -119,12 +181,12 @@ * @param id */ public void addSolrMsg(String id) { - cmqUtil.sendMsg(QUEUENAME_SOLR, id); + tdmqUtil.sendMsg(QUEUENAME_SOLR, id); } public List<SolrVideoMQMsg> consumeSolrMsg(int count) { List<SolrVideoMQMsg> list = new ArrayList<>(); - List<Message> msgList = cmqUtil.recieveMsg(count, QUEUENAME_SOLR); + List<Message> msgList = tdmqUtil.recieveMsg(count, QUEUENAME_SOLR); if (msgList != null) for (Message msg : msgList) { SolrVideoMQMsg mm = new SolrVideoMQMsg(); @@ -137,7 +199,9 @@ public void deleteSolrMsg(String handler) { - cmqUtil.deleteMsg(QUEUENAME_SOLR, handler); + + tdmqUtil.deleteMsg(QUEUENAME_SOLR, handler); + } @@ -148,12 +212,12 @@ */ public void addVideoResourceDeleteMsg(String videoId) { - cmqUtil.sendMsg(QUEUENAME_VIDEO_RESOURCE_DELETE, videoId); + tdmqUtil.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); + List<Message> msgList = tdmqUtil.recieveMsg(count, QUEUENAME_VIDEO_RESOURCE_DELETE); if (msgList != null) for (Message msg : msgList) { CMQResult mm = new CMQResult(); @@ -166,7 +230,9 @@ public void deleteVideoResourceDeleteMsg(String handler) { - cmqUtil.deleteMsg(QUEUENAME_VIDEO_RESOURCE_DELETE, handler); + + tdmqUtil.deleteMsg(QUEUENAME_VIDEO_RESOURCE_DELETE, handler); + } @@ -176,13 +242,13 @@ public void addVideoExtraInfoChanged(VideoExtraInfoChangeMQMsg msg) { List<String> list = new ArrayList<>(); list.add(msg.getType()); - cmqUtil.publishTopicMessage(TOPIC_VIDEO_EXTRAINFO, new Gson().toJson(msg), list); + tdmqUtil.publishTopicMessage(TOPIC_VIDEO_EXTRAINFO, list, new Gson().toJson(msg)); } public List<CMQResult> consumeUpdateVideoExtraInfoMsg(int count) { List<CMQResult> list = new ArrayList<>(); - List<Message> msgList = cmqUtil.recieveMsg(count, QUEUENAME_UPDATE_VIDEO_EXTRAINFO); + List<Message> msgList = tdmqUtil.recieveMsg(count, QUEUENAME_UPDATE_VIDEO_EXTRAINFO); if (msgList != null) for (Message msg : msgList) { CMQResult mm = new CMQResult(); @@ -194,8 +260,100 @@ } public void deleteUpdateVideoExtraInfoMsg(String handler) { - cmqUtil.deleteMsg(QUEUENAME_UPDATE_VIDEO_EXTRAINFO, handler); + + tdmqUtil.deleteMsg(QUEUENAME_UPDATE_VIDEO_EXTRAINFO, handler); + } -} + /** + * 鍏ㄧ綉鎼� + * + * @param msg + */ + + public void addInternetSearchVideoUpdateMsg(InternetSearchVideoMQMsg msg) { + tdmqUtil.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 = tdmqUtil.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) { + + tdmqUtil.deleteMsg(QUEUENAME_UPDATE_INTERNET_SEARCH, handler); + + } + + /** + * 瑙嗛鏉ユ簮鏇存柊 + * + * @param msg + */ + public void addUpdateResourceVideoMsg(UpdateResourceVideoMQMsg msg) { + tdmqUtil.sendMsg(QUEUENAME_UPDATE_RESOURCE_VIDEO, new Gson().toJson(msg)); + } + + public void deleteUpdateResourceVideoMsg(String handler) { + + tdmqUtil.deleteMsg(QUEUENAME_UPDATE_RESOURCE_VIDEO, handler); + + } + + + public List<UpdateResourceVideoMQMsg> consumeUpdateResourceVideoMsg(int count) { + Gson gson = new Gson(); + List<UpdateResourceVideoMQMsg> list = new ArrayList<>(); + List<Message> msgList = tdmqUtil.recieveMsg(count, QUEUENAME_UPDATE_RESOURCE_VIDEO); + if (msgList != null) + for (Message msg : msgList) { + try { + UpdateResourceVideoMQMsg mm = gson.fromJson(msg.msgBody, UpdateResourceVideoMQMsg.class); + mm.setHandler(msg.receiptHandle); + list.add(mm); + } catch (Exception e) { + e.printStackTrace(); + JSONObject jsonObject = JSONObject.fromObject(msg.msgBody); + jsonObject.remove("date"); + UpdateResourceVideoMQMsg mm = gson.fromJson(jsonObject.toString(), UpdateResourceVideoMQMsg.class); + mm.setHandler(msg.receiptHandle); + list.add(mm); + } + } + return list; + } + + //瑙嗛鏁版嵁鏇存敼 + public void addVideoDataChanged(VideoDataChangeMQMsg msg) { + tdmqUtil.publishTopicMessage(TOPIC_VIDEO_INFO_CHANGE, new Gson().toJson(msg)); + } + + + public Map<String, VideoDataChangeMQMsg> consumeVideoSyncV2DataMsg(int count) { + Gson gson = new Gson(); + Map<String, VideoDataChangeMQMsg> map = new HashMap<>(); + List<Message> msgList = tdmqUtil.recieveMsg(count, QUEUENAME_UPDATE_INTERNET_SEARCH); + if (msgList != null) + for (Message msg : msgList) { + map.put(msg.receiptHandle, gson.fromJson(msg.msgBody, VideoDataChangeMQMsg.class)); + } + return map; + } + + + public void deleteVideoSyncV2DataMsg(String handler) { + tdmqUtil.deleteMsg(QUEUENAME_VIDEO_SYNCDATA_V2, handler); + } + +} \ No newline at end of file -- Gitblit v1.8.0