From 4a7367a869ef12375ea6678ca44e102b8919c624 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 12 一月 2022 16:53:42 +0800
Subject: [PATCH] 极光推送完善(推送通知与透传消息)

---
 service-push/src/main/java/com/ks/push/manager/CMQManager.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 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..97e6c55 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,16 @@
      */
     public static String PUSH_MZ = "bpush-mz";
 
+    /**
+     * 鏋佸厜鎺ㄩ�侀槦鍒�
+     */
+    public static String PUSH_JPUSH = "bpush-jpush";
+
+    /**
+     * 鏃犳晥璁惧闃熷垪
+     */
+    public static String PUSH_TOKEN_INVALID = "bpush-token-invalid";
+
     static {
         cmqUtil = CMQUtil.getInstance(secretId, secretKey);
         // 鏈�澶ф秷鎭负1M
@@ -49,6 +60,8 @@
         cmqUtil.createQueue(PUSH_OPPO);
         cmqUtil.createQueue(PUSH_VIVO);
         cmqUtil.createQueue(PUSH_MZ);
+        cmqUtil.createQueue(PUSH_JPUSH);
+        cmqUtil.createQueue(PUSH_TOKEN_INVALID);
         logger.info("鍒涘缓闃熷垪瀹屾瘯");
     }
 
@@ -72,6 +85,8 @@
             queueName = PUSH_VIVO;
         } else if (platform == PushPlatform.mz) {
             queueName = PUSH_MZ;
+        }else if (platform == PushPlatform.jpush) {
+            queueName = PUSH_JPUSH;
         }
         return queueName;
     }
@@ -117,6 +132,7 @@
         return null;
     }
 
+
     /**
      * 鍒犻櫎娑堟伅
      *
@@ -128,6 +144,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