From 25680e135b5bdc15658622cbfde74bab73cfee77 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 25 十二月 2020 18:54:40 +0800
Subject: [PATCH] 功能完善

---
 service-lucky/src/main/java/com/ks/lucky/util/mq/CMQManager.java |  106 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 106 insertions(+), 0 deletions(-)

diff --git a/service-lucky/src/main/java/com/ks/lucky/util/mq/CMQManager.java b/service-lucky/src/main/java/com/ks/lucky/util/mq/CMQManager.java
index 05fdd1f..661d972 100644
--- a/service-lucky/src/main/java/com/ks/lucky/util/mq/CMQManager.java
+++ b/service-lucky/src/main/java/com/ks/lucky/util/mq/CMQManager.java
@@ -1,10 +1,18 @@
 package com.ks.lucky.util.mq;
 
 import com.google.gson.Gson;
+import com.ks.lucky.pojo.DTO.ActivityDrwanOutDateMsg;
 import com.ks.lucky.pojo.DTO.ActivityMQMsg;
+import com.ks.lucky.pojo.DTO.mq.ActivityAssistMsgDTO;
+import com.ks.lucky.pojo.DTO.mq.ActivityDrawnMsgDTO;
+import com.ks.lucky.pojo.DTO.mq.ActivityJoinMsgDTO;
+import com.ks.lucky.pojo.DTO.mq.ActivityStateChangeMsgDTO;
+import com.ks.lucky.utils.LuckyCMQConstant;
 import com.qcloud.cmq.Message;
 import org.yeshi.utils.CMQUtil;
+import org.yeshi.utils.JsonUtil;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -17,11 +25,23 @@
     private static CMQManager cmqManager;
     private static CMQUtil cmqUtil;
     public static String QUEUENAME_LUCKY_ACTIVITY = "lucky-activity";
+    /**
+     * 闇�瑕佹墽琛岄濂栬繃鏈�
+     */
+    public static String QUEUENAME_LUCKY_ACTIVITY_DRAWN_OUTDATE_EXEC = "lucky-activity-drawn-outdate-exec";
+
 
     static {
         cmqUtil = CMQUtil.getInstance(secretId, secretKey);
         // 鏈�澶ф秷鎭负1M
         cmqUtil.createQueue(QUEUENAME_LUCKY_ACTIVITY, 1024 * 1024);
+        cmqUtil.createQueue(QUEUENAME_LUCKY_ACTIVITY_DRAWN_OUTDATE_EXEC, 1024 * 1024);
+
+        //鍒涘缓涓婚
+        cmqUtil.createTopic(LuckyCMQConstant.TOPIC_ACTIVITY_STATE_CHANGE);
+        cmqUtil.createTopic(LuckyCMQConstant.TOPIC_ASSIST);
+        cmqUtil.createTopic(LuckyCMQConstant.TOPIC_ACTIVITY_DRAWN);
+        cmqUtil.createTopic(LuckyCMQConstant.TOPIC_ACTIVITY_JOIN);
     }
 
     public static CMQManager getInstance() {
@@ -51,6 +71,7 @@
     public void addActivityMsg(ActivityMQMsg msg) {
         cmqUtil.sendMsg(QUEUENAME_LUCKY_ACTIVITY, new Gson().toJson(msg));
     }
+
 
     /**
      * 娲诲姩娑堟伅娑堣垂
@@ -83,4 +104,89 @@
     }
 
 
+    /**
+     * 娣诲姞娲诲姩杩囨湡娑堟伅
+     *
+     * @param msg
+     */
+    public void addActivityDrawnOutDateMsg(ActivityDrwanOutDateMsg msg) {
+        cmqUtil.sendMsg(QUEUENAME_LUCKY_ACTIVITY_DRAWN_OUTDATE_EXEC, new Gson().toJson(msg));
+    }
+
+    /**
+     * 娑堣垂娲诲姩涓杩囨湡娑堟伅
+     *
+     * @param count
+     * @return
+     */
+    public Map<String, ActivityDrwanOutDateMsg> consumeActivityDrawnOutDateMsg(int count) {
+        List<Message> list = cmqUtil.recieveMsg(count, QUEUENAME_LUCKY_ACTIVITY_DRAWN_OUTDATE_EXEC);
+        if (list == null) {
+            return null;
+        }
+
+        Map<String, ActivityDrwanOutDateMsg> map = new HashMap<>();
+        Gson gson = new Gson();
+        for (Message msg : list) {
+            String result = msg.msgBody;
+            map.put(msg.receiptHandle, gson.fromJson(result, ActivityDrwanOutDateMsg.class));
+        }
+        return map;
+    }
+
+    /**
+     * 鍒犻櫎娲诲姩涓杩囨湡娑堟伅
+     *
+     * @param receiptHandle
+     */
+    public void deleteActivityDrawnOutDateMsg(String receiptHandle) {
+        cmqUtil.deleteMsg(QUEUENAME_LUCKY_ACTIVITY_DRAWN_OUTDATE_EXEC, receiptHandle);
+    }
+
+
+    /**
+     * 鍙戝竷娲诲姩鐘舵�佹敼鍙樼殑璁㈤槄娑堟伅
+     *
+     * @param dto
+     */
+    public void publishActivityStateChangeMsg(ActivityStateChangeMsgDTO dto) {
+        List<String> tagList = new ArrayList<>();
+        tagList.add(LuckyCMQConstant.TAG_ACTIVITY_STATE_CHANGE);
+        cmqUtil.publishTopicMessage(LuckyCMQConstant.TOPIC_ACTIVITY_STATE_CHANGE, tagList, JsonUtil.getSimpleGson().toJson(dto));
+    }
+
+
+    /**
+     * 鍙戝竷娲诲姩鍔╁姏鐨勮闃呮秷鎭�
+     *
+     * @param dto
+     */
+    public void publishActivityAssistMsg(ActivityAssistMsgDTO dto) {
+        List<String> tagList = new ArrayList<>();
+        tagList.add(LuckyCMQConstant.TAG_ASSIST);
+        cmqUtil.publishTopicMessage(LuckyCMQConstant.TOPIC_ASSIST, tagList, JsonUtil.getSimpleGson().toJson(dto));
+    }
+
+    /**
+     * 鍙戝竷娲诲姩涓娑堟伅鍒拌闃呮秷鎭�
+     *
+     * @param dto
+     */
+    public void publishActivityDrawnMsg(ActivityDrawnMsgDTO dto) {
+        List<String> tagList = new ArrayList<>();
+        tagList.add(LuckyCMQConstant.TAG_ACTIVITY_DRAWN);
+        cmqUtil.publishTopicMessage(LuckyCMQConstant.TOPIC_ACTIVITY_DRAWN, tagList, JsonUtil.getSimpleGson().toJson(dto));
+    }
+
+
+    /**
+     * 娲诲姩鍙備笌淇℃伅
+     * @param dto
+     */
+    public void publishActivityJoinMsg(ActivityJoinMsgDTO dto) {
+        List<String> tagList = new ArrayList<>();
+        tagList.add(LuckyCMQConstant.TAG_ACTIVITY_JOIN);
+        cmqUtil.publishTopicMessage(LuckyCMQConstant.TOPIC_ACTIVITY_JOIN, tagList, JsonUtil.getSimpleGson().toJson(dto));
+    }
+
 }

--
Gitblit v1.8.0