package com.ks.daylucky.util.mq;
|
|
import com.ks.lucky.utils.LuckyCMQConstant;
|
import com.qcloud.cmq.Message;
|
import org.yeshi.utils.CMQUtil;
|
|
import java.util.Arrays;
|
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_DAY_LUCKY_MSG = "day-lucky-msg";
|
|
/**
|
* 活动中奖通知
|
*/
|
public static String QUEUENAME_DAY_LUCKY_ACTIVITY_DRAWN = "day-lucky-activity-drawn-notify";
|
|
|
static {
|
cmqUtil = CMQUtil.getInstance(secretId, secretKey);
|
// 最大消息为1M
|
cmqUtil.createQueue(QUEUENAME_DAY_LUCKY_MSG, 1024 * 1024);
|
cmqUtil.createQueue(QUEUENAME_DAY_LUCKY_ACTIVITY_DRAWN, 1024 * 1024);
|
|
try {
|
cmqUtil.subscribeTopic(LuckyCMQConstant.TOPIC_ACTIVITY_STATE_CHANGE, QUEUENAME_DAY_LUCKY_MSG, QUEUENAME_DAY_LUCKY_MSG);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
try {
|
cmqUtil.subscribeTopic(LuckyCMQConstant.TOPIC_ASSIST, QUEUENAME_DAY_LUCKY_MSG, QUEUENAME_DAY_LUCKY_MSG);
|
} catch (Exception e) {
|
|
}
|
|
try {
|
cmqUtil.subscribeTopic(LuckyCMQConstant.TOPIC_ACTIVITY_DRAWN, QUEUENAME_DAY_LUCKY_MSG, QUEUENAME_DAY_LUCKY_MSG);
|
} catch (Exception e) {
|
}
|
|
|
try {
|
cmqUtil.subscribeTopic(LuckyCMQConstant.TOPIC_ACTIVITY_JOIN, QUEUENAME_DAY_LUCKY_MSG, QUEUENAME_DAY_LUCKY_MSG);
|
} catch (Exception e) {
|
}
|
|
try {
|
cmqUtil.subscribeTopic(LuckyCMQConstant.TOPIC_ACTIVITY_DRAWN, QUEUENAME_DAY_LUCKY_ACTIVITY_DRAWN, QUEUENAME_DAY_LUCKY_ACTIVITY_DRAWN);
|
} catch (Exception e) {
|
}
|
|
}
|
|
public static CMQManager getInstance() {
|
if (cmqManager == null) {
|
cmqManager = new CMQManager();
|
}
|
return cmqManager;
|
}
|
|
|
/**
|
* 活动消息消费
|
*
|
* @param count
|
* @return
|
*/
|
public List<Message> consumeMsgMsg(int count) {
|
List<Message> list = cmqUtil.recieveMsg(count, QUEUENAME_DAY_LUCKY_MSG);
|
if (list == null) {
|
return null;
|
}
|
return list;
|
}
|
|
/**
|
* 删除活动消息
|
*
|
* @param receiptHandle
|
*/
|
public void deleteMsgMsg(String receiptHandle) {
|
cmqUtil.deleteMsg(QUEUENAME_DAY_LUCKY_MSG, receiptHandle);
|
}
|
|
|
/**
|
* 活动消息消费
|
*
|
* @param count
|
* @return
|
*/
|
public List<Message> consumeActivityDrawnMsg(int count) {
|
List<Message> list = cmqUtil.recieveMsg(count, QUEUENAME_DAY_LUCKY_ACTIVITY_DRAWN);
|
if (list == null) {
|
return null;
|
}
|
return list;
|
}
|
|
/**
|
* 删除活动消息
|
*
|
* @param receiptHandle
|
*/
|
public void deleteActivityDrawnMsg(String receiptHandle) {
|
cmqUtil.deleteMsg(QUEUENAME_DAY_LUCKY_ACTIVITY_DRAWN, receiptHandle);
|
}
|
|
|
}
|