瀏覽代碼

Merge branch 'develop' of http://39.101.216.213/gogs/liuhuijin/lineage into develop

Alex 4 年之前
父節點
當前提交
85868fa843
共有 1 個文件被更改,包括 21 次插入10 次删除
  1. 21 10
      ruoyi-app/src/main/java/com/ruoyi/app/util/PushUtil.java

+ 21 - 10
ruoyi-app/src/main/java/com/ruoyi/app/util/PushUtil.java

@@ -1,6 +1,7 @@
 package com.ruoyi.app.util;
 
 import com.gexin.rp.sdk.base.IPushResult;
+import com.gexin.rp.sdk.base.impl.ListMessage;
 import com.gexin.rp.sdk.base.impl.SingleMessage;
 import com.gexin.rp.sdk.base.impl.Target;
 import com.gexin.rp.sdk.exceptions.RequestException;
@@ -8,6 +9,9 @@ import com.gexin.rp.sdk.http.IGtPush;
 import com.gexin.rp.sdk.template.NotificationTemplate;
 import com.gexin.rp.sdk.template.style.Style0;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * 消息推送
  */
@@ -21,14 +25,14 @@ public class PushUtil {
     /**
      * @param title     消息标题 例如家族消息
      * @param text      消息内容 例如余震申请加入陕西凤翔余姓家族
-     * @param client_id 设备标识
+     * @param client_ids 设备标识
      * @return true|false
      */
-    public static boolean sendMessage(String title, String text, String client_id) {
+    public static boolean sendMessage(String title, String text, List<String> client_ids) {
         // 设置后,根据别名推送,会返回每个cid的推送结果
         IGtPush push = new IGtPush(host, appKey, masterSecret);
         NotificationTemplate template = getNotificationTemplate(title, text);
-        SingleMessage message = new SingleMessage();
+        ListMessage message = new ListMessage();
         message.setOffline(true);
         // 离线有效时间,单位为毫秒
         message.setOfflineExpireTime(24 * 3600 * 1000);
@@ -37,15 +41,19 @@ public class PushUtil {
         message.setPushNetWorkType(0);
         // 厂商通道下发策略
         message.setStrategyJson("{\"default\":4,\"ios\":4,\"st\":4}");
-        Target target = new Target();
-        target.setAppId(appId);
-        target.setClientId(client_id);
-        IPushResult ret;
+        List<Target> list = new ArrayList<>();
+        for (String client_id : client_ids) {
+            Target target = new Target();
+            target.setAppId(appId);
+            target.setClientId(client_id);
+            list.add(target);
+        }
+        String contentId = push.getContentId(message);
+        IPushResult ret = null;
         try {
-            ret = push.pushMessageToSingle(message, target);
+            ret = push.pushMessageToList(contentId, list);
         } catch (RequestException e) {
             e.printStackTrace();
-            ret = push.pushMessageToSingle(message, target, e.getRequestId());
         }
         if (ret.getResponse().get("result").toString().equals("ok")) {
             return true;
@@ -56,7 +64,10 @@ public class PushUtil {
     }
 
     public static void main(String[] args) {
-        boolean s = sendMessage("家族通知", "余震申请加入", "4c5889ce0d7594141127eacb697b8007");
+        List<String>list=new ArrayList<>();
+        list.add("4c5889ce0d7594141127eacb697b8007");
+        list.add("42a9c3372a60f1ccffe639520b421b07");
+        boolean s = sendMessage("家族通知", "余震申请加入", list);
         System.out.println("ssss:" + s);
     }