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