package com.ks.app.utils.mq;
|
|
import com.google.gson.Gson;
|
import com.ks.app.dto.mq.TestMQMsg;
|
import com.qcloud.cmq.Message;
|
import org.yeshi.utils.StringUtil;
|
import org.yeshi.utils.mq.TDMQUtil;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @author hxh
|
* @title: CMQManager
|
* @description: MQ
|
* @date 2022/4/1 17:06
|
*/
|
public class CMQManager {
|
private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25";
|
private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo";
|
private static CMQManager cmqManager;
|
private static TDMQUtil tdmqUtil;
|
|
//TODO 设置队列
|
public static String QUEUE_EXTRACT_RESULT = "xxxx";
|
|
|
static {
|
TDMQUtil.getInstance().init(secretId, secretKey, true);
|
tdmqUtil = TDMQUtil.getInstance();
|
tdmqUtil.createQueue(QUEUE_EXTRACT_RESULT);
|
}
|
|
public static CMQManager getInstance() {
|
if (cmqManager == null) {
|
cmqManager = new CMQManager();
|
}
|
return cmqManager;
|
}
|
|
|
/**
|
* 添加提现结果消息
|
*
|
* @param msg
|
*/
|
public void addExtractResultMsg(TestMQMsg msg) {
|
String content = new Gson().toJson(msg);
|
tdmqUtil.sendMsg(QUEUE_EXTRACT_RESULT, content);
|
}
|
|
/**
|
* 消费提现结果消息
|
*
|
* @param count
|
* @return
|
*/
|
public Map<String, TestMQMsg> consumeExtractResultMsg(int count) {
|
List<Message> list = tdmqUtil.recieveMsg(count, QUEUE_EXTRACT_RESULT);
|
Map<String, TestMQMsg> map = new HashMap<>();
|
if (list != null) {
|
for (Message msg : list) {
|
String result = msg.msgBody;
|
if (!StringUtil.isNullOrEmpty(result)) {
|
TestMQMsg resultMQMsg = new Gson().fromJson(result,
|
TestMQMsg.class);
|
map.put(msg.receiptHandle, resultMQMsg);
|
}
|
}
|
}
|
return map;
|
}
|
|
/**
|
* 删除提现结果消息
|
*
|
* @param receiptHandle
|
*/
|
public void deleteExtractResultMsg(String receiptHandle) {
|
tdmqUtil.deleteMsg(QUEUE_EXTRACT_RESULT, receiptHandle);
|
}
|
|
|
}
|