From b107dfe2088921a66a4ecac1708d322d241dfae6 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 11 六月 2020 14:27:43 +0800
Subject: [PATCH] 云发单群组关键词激活
---
fanli/src/main/java/com/yeshi/fanli/util/push/XiaoMiPushUtil.java | 94 ++++++++++++++++++++++++++++++++++++++---------
1 files changed, 76 insertions(+), 18 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/push/XiaoMiPushUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/push/XiaoMiPushUtil.java
index 85fb259..c44ede6 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/push/XiaoMiPushUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/push/XiaoMiPushUtil.java
@@ -1,6 +1,7 @@
package com.yeshi.fanli.util.push;
import java.io.IOException;
+import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
@@ -56,6 +57,9 @@
* @return
*/
public static String allPushAndroidForXM(MessageInfo info, Map<String, Object> map) {
+ if (Constant.IS_TEST)
+ return null;
+
String name = info.getPackageName();
if (!Constant.systemCommonConfig.getAndroidPackageName().equalsIgnoreCase(name)
&& !Constant.systemCommonConfig.getIosBundleId().equalsIgnoreCase(name)) {
@@ -72,6 +76,7 @@
Message message = null; // 鍋氬惊鐜紶鏉ョ殑key
Builder builder = new Message.Builder().restrictedPackageName(PackageName).title(title).payload(payload)
+ .notifyId((int) (Math.random() * Integer.MAX_VALUE))
.description(description).passThrough(0) // 璁剧疆娑堟伅鏄惁閫氳繃閫忎紶鏂瑰紡鑷矨pp,
// 1琛ㄧず閫忎紶锛�0琛ㄧず閫氱煡鏍忔秷鎭紙榛樿锛�
.notifyType(1); // 璁剧疆閫氱煡绫诲瀷, type绫诲瀷(1-榛樿鎻愮ず闊�, 2-浣跨敤榛樿闇囧姩鎻愮ず,
@@ -95,6 +100,60 @@
}
/**
+ * 鎵归噺鎺ㄩ��
+ *
+ * @param info
+ * @param map
+ * @param regList
+ * 鏈�澶т釜鏁颁负1000
+ * @return
+ */
+ public static String pushBatchAndroidForXM(MessageInfo info, Map<String, Object> map, List<String> regList) {
+ if (Constant.IS_TEST)
+ return null;
+ if (regList == null || regList.size() == 0)
+ return "";
+
+ String name = info.getPackageName();
+ if (!Constant.systemCommonConfig.getAndroidPackageName().equalsIgnoreCase(name)
+ && !Constant.systemCommonConfig.getIosBundleId().equalsIgnoreCase(name)) {
+ return null;
+ }
+
+ // 浠巌nfo涓彇椤甸潰浼犳潵鐨勫��
+ Constants.useOfficial(); // 鍚姩鎺ㄩ�佹柟娉�
+ String PackageName = info.getPackageName();
+ Sender sender = new Sender(XIAOMI_F_ANDROID_APP_SECERT); // 鐢宠鐨凙ppSecert
+ String title = info.getTitle();
+ String payload = info.getContent();
+ String description = info.getContent();
+
+ Message message = null; // 鍋氬惊鐜紶鏉ョ殑key
+ Builder builder = new Message.Builder().restrictedPackageName(PackageName).title(title).payload(payload)
+ .notifyId((int) (Math.random() * Integer.MAX_VALUE))
+ .description(description).passThrough(0) // 璁剧疆娑堟伅鏄惁閫氳繃閫忎紶鏂瑰紡鑷矨pp,
+ // 1琛ㄧず閫忎紶锛�0琛ㄧず閫氱煡鏍忔秷鎭紙榛樿锛�
+ .notifyType(1); // 璁剧疆閫氱煡绫诲瀷, type绫诲瀷(1-榛樿鎻愮ず闊�, 2-浣跨敤榛樿闇囧姩鎻愮ず,
+ // 3-浣跨敤榛樿led鐏厜鎻愮ず)
+ // 灏唀xtra鏀惧叆MessageInfo瀵硅薄涓紝 寰幆閬嶅巻extra涓殑key 鍜� value
+ if (map != null) {
+ for (String key : map.keySet()) {
+ builder.extra(key, map.get(key).toString());
+ }
+ }
+ message = builder.build();
+ try {
+ Result result = sender.send(message, regList, 3);
+ return result.getMessageId();// 鎴愬姛 杩斿洖娑堟伅鐨処d锛� 澶辫触杩斿洖null
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
*
* 鏂规硶璇存槑: 灏忕背鎺ㄩ�佸畨鍗擄紙鍗曟帹锛�
*
@@ -104,7 +163,8 @@
* @param system
* @return
*/
- public static String singlePushAndroidForXM(MessageInfo info, Map<String, Object> map, System system) {
+ public static String singlePushAndroidForXM(MessageInfo info, Map<String, Object> map, List<String> regIds,
+ System system) {
String name = info.getPackageName();
if (!Constant.systemCommonConfig.getAndroidPackageName().equalsIgnoreCase(name)
&& !Constant.systemCommonConfig.getIosBundleId().equalsIgnoreCase(name)) {
@@ -120,8 +180,10 @@
Message message = null; // 鍋氬惊鐜紶鏉ョ殑key
Builder builder = new Message.Builder().restrictedPackageName(PackageName).title(title).description(content)
.passThrough(0) // 璁剧疆娑堟伅鏄惁閫氳繃閫忎紶鏂瑰紡鑷矨pp, 1琛ㄧず閫忎紶锛�0琛ㄧず閫氱煡鏍忔秷鎭紙榛樿锛�
- .notifyType(1); // 璁剧疆閫氱煡绫诲瀷, type绫诲瀷(1-榛樿鎻愮ず闊�, 2-浣跨敤榛樿闇囧姩鎻愮ず,
- // 3-浣跨敤榛樿led鐏厜鎻愮ず)
+ .notifyId((int) (Math.random() * Integer.MAX_VALUE)).notifyType(1); // 璁剧疆閫氱煡绫诲瀷,
+ // type绫诲瀷(1-榛樿鎻愮ず闊�,
+ // 2-浣跨敤榛樿闇囧姩鎻愮ず,
+ // 3-浣跨敤榛樿led鐏厜鎻愮ず)
// 灏唀xtra鏀惧叆MessageInfo瀵硅薄涓紝 寰幆閬嶅巻extra涓殑key 鍜� value
if (map != null) {
for (String key : map.keySet()) {
@@ -130,7 +192,8 @@
}
message = builder.build();
try {
- Result result = sender.sendToAlias(message, uId, 3);
+ Result result = sender.send(message, regIds, 3); // sender.sendToAlias(message,
+ // uId, 3);
PushLogHelper.xmInfo("鎺ㄩ�佺粨鏋�:" + result.getReason());
return result.getMessageId();
} catch (IOException e) {
@@ -148,14 +211,13 @@
* @author mawurui createTime 2018骞�3鏈�8鏃� 涓婂崍9:55:14
* @param info
*/
- public static void pushByHongBao(String alias, System system) {
+ public static void pushByHongBao(List<String> regIds, System system) {
MessageInfo info = new MessageInfo();
- info.setAlias(alias);
info.setTitle("鏂板埌绾㈠寘");
info.setDescription("绾㈠寘鍒版潵浜�...");
JSONObject jsonObject = new JSONObject();
jsonObject.put("type", "hongbao");
- XiaoMiPushUtil.singlePushAndroidForXM(info, JsonUtil.parseData(jsonObject), system);
+ XiaoMiPushUtil.singlePushAndroidForXM(info, JsonUtil.parseData(jsonObject), regIds, system);
}
/**
@@ -165,14 +227,13 @@
* @author mawurui createTime 2018骞�3鏈�8鏃� 涓婂崍10:00:16
* @param info
*/
- public static void pushByApply(String alias, System system) {
+ public static void pushByApply(List<String> regIds, System system) {
MessageInfo info = new MessageInfo();
- info.setAlias(alias);
info.setTitle("鎻愮幇鐢宠");
info.setDescription("鎻愮幇瀹℃牳涓�...");
JSONObject jsonObject = new JSONObject();
jsonObject.put("type", "cash");
- XiaoMiPushUtil.singlePushAndroidForXM(info, JsonUtil.parseData(jsonObject), system);
+ XiaoMiPushUtil.singlePushAndroidForXM(info, JsonUtil.parseData(jsonObject), regIds, system);
}
/**
@@ -184,9 +245,8 @@
* @param state
* @param system
*/
- public static void pushByExtract(String alias, int state, System system) {
+ public static void pushByExtract(List<String> regIds, int state, System system) {
MessageInfo info = new MessageInfo();
- info.setAlias(alias);
if (state == 0) {
info.setTitle("鎻愮幇鎴愬姛");
info.setDescription("鎮ㄦ湁涓�绗斾氦鏄擄紝宸叉彁鐜版垚鍔燂紒");
@@ -199,9 +259,8 @@
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("type", "cash");
- XiaoMiPushUtil.singlePushAndroidForXM(info, JsonUtil.parseData(jsonObject), system);
+ XiaoMiPushUtil.singlePushAndroidForXM(info, JsonUtil.parseData(jsonObject), regIds, system);
}
-
/**
*
@@ -214,7 +273,7 @@
// jsonXm 杞崲涓� map
JSONObject mapXm = JSONObject.fromObject(json);
String android = allPushAndroidForXM(info, mapXm);
- LogHelper.userInfo("瀹夊崜鎺ㄩ�佹祴璇曪細" + android);
+ LogHelper.userInfo("灏忕背鎺ㄩ�侊細" + android);
pushRecord.setAndroidPushId(android);
if (android != null) {
return 1;
@@ -223,12 +282,11 @@
}
}
- public static void pushZNX(Long uid, String title, String content, String msgId) {
+ public static void pushZNX(List<String> regIds, String title, String content, String msgId) {
// 灏忕背寮�濮嬫帹閫�
MessageInfo info = new MessageInfo();
info.setActivty(
String.format("%s.ui.BrowserActivity", Constant.systemCommonConfig.getAndroidBaseactivityName()));
- info.setAlias(uid + "");
info.setTitle(title);
info.setContent(content);
info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName());
@@ -245,7 +303,7 @@
contentJson.put("createTime", java.lang.System.currentTimeMillis());
json.put("content", contentJson);
JSONObject mapXm = JSONObject.fromObject(json);
- XiaoMiPushUtil.singlePushAndroidForXM(info, mapXm, null);
+ XiaoMiPushUtil.singlePushAndroidForXM(info, mapXm, regIds, null);
}
}
--
Gitblit v1.8.0