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 consumeExtractResultMsg(int count) { List list = tdmqUtil.recieveMsg(count, QUEUE_EXTRACT_RESULT); Map 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); } }