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