From 7fa83e5dd03f7896bd1d1e8c47f5e926ff3d4ba0 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 16 十月 2024 14:12:24 +0800 Subject: [PATCH] CMQ改造为rabbitmq --- service-push/src/main/java/com/ks/push/utils/push/JpushUtil.java | 64 +++++++++++++++++++------------- 1 files changed, 38 insertions(+), 26 deletions(-) diff --git a/service-push/src/main/java/com/ks/push/utils/push/JpushUtil.java b/service-push/src/main/java/com/ks/push/utils/push/JpushUtil.java index 2b6860c..8eaaba0 100644 --- a/service-push/src/main/java/com/ks/push/utils/push/JpushUtil.java +++ b/service-push/src/main/java/com/ks/push/utils/push/JpushUtil.java @@ -9,9 +9,12 @@ import cn.jpush.api.push.model.Platform; import cn.jpush.api.push.model.PushPayload; import cn.jpush.api.push.model.audience.Audience; +import cn.jpush.api.push.model.notification.AndroidNotification; import cn.jpush.api.push.model.notification.Notification; import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.ks.push.utils.JPushUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.yeshi.utils.push.entity.PushAppInfo; @@ -55,20 +58,25 @@ params = message.getActivityParams(); } - PushPayload.Builder payloadBuilder = PushPayload.newBuilder(). - setPlatform(Platform.all()) - .setNotification(Notification.android(message.getContent(), message.getTitle(), params)); + AndroidNotification.Builder androidBuilder = AndroidNotification.newBuilder().setAlert(message.getContent()).setTitle(message.getTitle()); - - if (regIds != null) { - payloadBuilder.setAudience(Audience.registrationId(regIds)); - } else if (aliasList != null) { - payloadBuilder.setAudience(Audience.alias(aliasList)); + //閫氳繃intent鎺ㄩ�� + if (message.getActivity().startsWith("intent:#")) { + JsonObject intent = new JsonObject(); + intent.addProperty("url", message.getActivity()); + androidBuilder = androidBuilder.setIntent(intent).addExtras(message.getActivityParams()); } else { - payloadBuilder.setAudience(Audience.all()); + androidBuilder = androidBuilder.addExtras(params); } + PushPayload.Builder payloadBuilder = PushPayload.newBuilder(). + setPlatform(Platform.all()) + .setNotification(Notification.newBuilder() + .addPlatformNotification(androidBuilder.build()) + .build()); + loadTarget(payloadBuilder, regIds, aliasList); PushPayload payload = payloadBuilder.build(); + try { PushResult result = jpushClient.sendPush(payload); @@ -83,6 +91,16 @@ LOG.info("Error Message: " + e.getErrorMessage()); } return null; + } + + private static void loadTarget(PushPayload.Builder builder, List<String> regIds, List<String> aliasList) { + if (regIds != null) { + builder.setAudience(Audience.registrationId(regIds)); + } else if (aliasList != null) { + builder.setAudience(Audience.alias(aliasList)); + } else { + builder.setAudience(Audience.all()); + } } @@ -104,13 +122,7 @@ .setMessage(Message.newBuilder() .setMsgContent(data.toJSONString()) .build()); - if (regIds != null) { - payloadBuilder.setAudience(Audience.registrationId(regIds)); - } else if (aliasList != null) { - payloadBuilder.setAudience(Audience.alias(aliasList)); - } else { - payloadBuilder.setAudience(Audience.all()); - } + loadTarget(payloadBuilder, regIds, aliasList); PushPayload payload = payloadBuilder.build(); @@ -131,22 +143,22 @@ public static void main(String[] args) { Map<String, String> activityParams = new HashMap<>(); - activityParams.put("activity", "test"); - activityParams.put("type", "requestLocation"); + activityParams.put("type", "web"); JSONObject jumpParams = new JSONObject(); - jumpParams.put("id", 123123); + jumpParams.put("url", "http://www.baidu.com"); activityParams.put("params", jumpParams.toJSONString()); PushAppInfo appInfo = new PushAppInfo(); - appInfo.setAppKey("987d3d50f209994fa522d001"); - appInfo.setAppSecret("e4053447d0014576ea2c47ab"); -// PushMessage message = new PushMessage("浣犲ソ鍟�", "涓嬪崍濂斤紝hello world", null, null, null, activityParams); + appInfo.setAppKey("6f219d3bfa78428537090fef"); + appInfo.setAppSecret("c48f35cd1cef4b717f721e4b"); - Map<String,Object> dataMap=new HashMap<>(); - dataMap.put("type","requestLocation"); - JSONObject data = new JSONObject(dataMap); - pushMessage(appInfo, data, Arrays.asList(new String[]{"100d8559098624d84e6"}), null); + PushMessage pushMessage = new PushMessage(); + pushMessage.setActivity(JPushUtil.createIntent("com.yeshi.makemoney.video.app.push.PushOpenClickActivity", "com.yeshi.makemoney.video")); + pushMessage.setActivityParams(activityParams); + pushMessage.setTitle("娴嬭瘯鏍囬"); + pushMessage.setContent("娴嬭瘯鍐呭"); + pushNotification(appInfo, pushMessage, Arrays.asList(new String[]{"1507bfd3f737761f2f2"}), null); } -- Gitblit v1.8.0