From a2c56bd6b79d2b8ca2c4c44a254ad2958fb72bca Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 17 九月 2021 15:21:45 +0800
Subject: [PATCH] 推送服务完善

---
 service-push/src/main/java/com/ks/push/manager/CMQManager.java |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/service-push/src/main/java/com/ks/push/manager/CMQManager.java b/service-push/src/main/java/com/ks/push/manager/CMQManager.java
index 582c968..5646f92 100644
--- a/service-push/src/main/java/com/ks/push/manager/CMQManager.java
+++ b/service-push/src/main/java/com/ks/push/manager/CMQManager.java
@@ -2,6 +2,7 @@
 
 import com.google.gson.Gson;
 import com.ks.push.dto.BPushDeviceDataSet;
+import com.ks.push.dto.mq.InvalidDeviceTokenInfo;
 import com.ks.push.pojo.DO.PushPlatform;
 import com.qcloud.cmq.Message;
 import org.slf4j.Logger;
@@ -41,6 +42,11 @@
      */
     public static String PUSH_MZ = "bpush-mz";
 
+    /**
+     * 鏃犳晥璁惧闃熷垪
+     */
+    public static String PUSH_TOKEN_INVALID = "bpush-token-invalid";
+
     static {
         cmqUtil = CMQUtil.getInstance(secretId, secretKey);
         // 鏈�澶ф秷鎭负1M
@@ -49,6 +55,7 @@
         cmqUtil.createQueue(PUSH_OPPO);
         cmqUtil.createQueue(PUSH_VIVO);
         cmqUtil.createQueue(PUSH_MZ);
+        cmqUtil.createQueue(PUSH_TOKEN_INVALID);
         logger.info("鍒涘缓闃熷垪瀹屾瘯");
     }
 
@@ -117,6 +124,7 @@
         return null;
     }
 
+
     /**
      * 鍒犻櫎娑堟伅
      *
@@ -128,6 +136,38 @@
     }
 
 
+    /**
+     * 鍙戦�佹棤鏁堣澶囨秷鎭�
+     *
+     * @param info
+     */
+    public void addInvalidDevieToken(InvalidDeviceTokenInfo info) {
+        if (info == null) {
+            return;
+        }
+        cmqUtil.sendMsg(PUSH_TOKEN_INVALID, new Gson().toJson(info));
+    }
+
+    /**
+     * 娑堣垂鏃犳晥璁惧娑堟伅
+     *
+     * @param count
+     */
+    public List<MQMsgConsumeResult> consumeInvalidDeviceTokenQueue(int count) throws Exception {
+        List<Message> list = cmqUtil.recieveMsg(count, PUSH_TOKEN_INVALID);
+        if (list != null) {
+            List<MQMsgConsumeResult> resultList = new ArrayList<>();
+            for (Message msg : list) {
+                String result = msg.msgBody;
+                InvalidDeviceTokenInfo tokenInfo = new Gson().fromJson(result, InvalidDeviceTokenInfo.class);
+                resultList.add(new MQMsgConsumeResult(tokenInfo, PUSH_TOKEN_INVALID, msg.receiptHandle));
+            }
+            return resultList;
+        }
+        return null;
+    }
+
+
     public static class MQMsgConsumeResult {
         private String queueName;
         private Object data;

--
Gitblit v1.8.0