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