admin
2020-10-24 8075103992e9482fddd4a579d97b9a50c5dcf550
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
package com.yeshi.buwan.util.mq;
 
import com.qcloud.cmq.Message;
import com.yeshi.buwan.dto.mq.CMQConsumeMsg;
import com.yeshi.buwan.dto.mq.FunTVAlbum2MQMsg;
import com.yeshi.buwan.dto.mq.IqiyiAlbum2MQMsg;
import com.yeshi.buwan.dto.mq.SolrVideoMQMsg;
 
import java.util.ArrayList;
import java.util.List;
 
public class CMQManager {
    private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25";
    private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo";
    private static CMQManager cmqManager;
    private static CMQUtil cmqUtil;
    // 搜索引擎
    public static String QUEUENAME_SOLR = "buwan-solr";
    //视频更新-爱奇艺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";
 
    //删除视频资源
    public static String QUEUENAME_VIDEO_RESOURCE_DELETE = "buwan-video-resource-delete";
 
 
    static {
        cmqUtil = CMQUtil.getInstance(secretId, secretKey);
        // 最大消息为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);
    }
 
    public static CMQManager getInstance() {
        if (cmqManager == null)
            cmqManager = new CMQManager();
        return cmqManager;
    }
 
 
    //添加专辑更新消息
    public void addIqiyiAlbumUpdateMsg(Long id) {
        cmqUtil.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);
        if (msgList != null)
            for (Message msg : msgList) {
                IqiyiAlbum2MQMsg mm = new IqiyiAlbum2MQMsg();
                mm.setHandler(msg.receiptHandle);
                mm.setId(Long.parseLong(msg.msgBody));
                list.add(mm);
            }
        return list;
    }
 
    //删除专辑更新消息
    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);
    }
 
 
    /**
     * 搜索引擎
     * @param id
     */
 
    /**
     * 搜索引擎消息
     *
     * @param id
     */
    public void addSolrMsg(String id) {
        cmqUtil.sendMsg(QUEUENAME_SOLR, id);
    }
 
    public List<SolrVideoMQMsg> consumeSolrMsg(int count) {
        List<SolrVideoMQMsg> list = new ArrayList<>();
        List<Message> msgList = cmqUtil.recieveMsg(count, QUEUENAME_SOLR);
        if (msgList != null)
            for (Message msg : msgList) {
                SolrVideoMQMsg mm = new SolrVideoMQMsg();
                mm.setHandler(msg.receiptHandle);
                mm.setId(msg.msgBody);
                list.add(mm);
            }
        return list;
    }
 
 
    public void deleteSolrMsg(String handler) {
        cmqUtil.deleteMsg(QUEUENAME_SOLR, handler);
    }
 
 
    /**
     * 删除视频资源
     *
     * @param videoId
     */
 
    public void addVideoResourceDeleteMsg(String videoId) {
        cmqUtil.sendMsg(QUEUENAME_VIDEO_RESOURCE_DELETE, videoId);
    }
 
    public List<CMQConsumeMsg> consumeVideoResourceDeleteMsg(int count) {
        List<CMQConsumeMsg> list = new ArrayList<>();
        List<Message> msgList = cmqUtil.recieveMsg(count, QUEUENAME_VIDEO_RESOURCE_DELETE);
        if (msgList != null)
            for (Message msg : msgList) {
                CMQConsumeMsg mm = new CMQConsumeMsg();
                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);
    }
 
 
}