| | |
| | | import com.google.gson.Gson; |
| | | import com.qcloud.cmq.Message; |
| | | import com.yeshi.buwan.dto.mq.*; |
| | | import com.yeshi.buwan.util.StringUtil; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | 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"; |
| | | |
| | |
| | | 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); |
| | |
| | | List<String> filters = new ArrayList<>(); |
| | | filters.add("resource"); |
| | | filters.add("category"); |
| | | cmqUtil.subscribeTopic(TOPIC_VIDEO_EXTRAINFO, TOPIC_VIDEO_EXTRAINFO + "#" + QUEUENAME_UPDATE_VIDEO_EXTRAINFO, QUEUENAME_UPDATE_VIDEO_EXTRAINFO, filters); |
| | | cmqUtil.subscribeTopic(TOPIC_VIDEO_EXTRAINFO, StringUtil.Md5(TOPIC_VIDEO_EXTRAINFO + "#" + QUEUENAME_UPDATE_VIDEO_EXTRAINFO), QUEUENAME_UPDATE_VIDEO_EXTRAINFO, filters); |
| | | } catch (Exception e) { |
| | | } |
| | | } |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 全网搜 |
| | | * |
| | | * @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; |
| | | } |
| | | |
| | | |
| | | } |