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 | 108 ++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 80 insertions(+), 28 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 831dedb..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;
@@ -8,21 +9,20 @@
import org.json.simple.parser.ParseException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import org.yeshi.utils.JsonUtil;
import com.xiaomi.xmpush.server.Constants;
import com.xiaomi.xmpush.server.Message;
import com.xiaomi.xmpush.server.Message.Builder;
import com.xiaomi.xmpush.server.Result;
import com.xiaomi.xmpush.server.Sender;
-import com.yeshi.fanli.entity.system.System;
import com.yeshi.fanli.entity.xinge.MessageInfo;
import com.yeshi.fanli.entity.xinge.PushRecord;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.log.PushLogHelper;
-import com.yeshi.fanli.service.inter.config.SystemService;
+import com.yeshi.fanli.service.inter.config.BusinessSystemService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.PropertiesUtil;
-import org.yeshi.utils.JsonUtil;
import net.sf.json.JSONObject;
@@ -32,12 +32,12 @@
private static XiaoMiPushUtil xiaoMiPushUtil;
@Autowired
- private SystemService systemService;
+ private BusinessSystemService businessSystemService;
@PostConstruct
public void init() {
xiaoMiPushUtil = this;
- xiaoMiPushUtil.systemService = this.systemService;
+ xiaoMiPushUtil.businessSystemService = this.businessSystemService;
}
// AppKey
@@ -57,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)) {
@@ -73,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-浣跨敤榛樿闇囧姩鎻愮ず,
@@ -96,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;
+ }
+
+ /**
*
* 鏂规硶璇存槑: 灏忕背鎺ㄩ�佸畨鍗擄紙鍗曟帹锛�
*
@@ -105,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)) {
@@ -121,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()) {
@@ -131,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) {
@@ -149,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);
}
/**
@@ -166,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);
}
/**
@@ -185,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("鎮ㄦ湁涓�绗斾氦鏄擄紝宸叉彁鐜版垚鍔燂紒");
@@ -200,13 +259,7 @@
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("type", "cash");
- XiaoMiPushUtil.singlePushAndroidForXM(info, JsonUtil.parseData(jsonObject), system);
- }
-
- public static int allFanLiQuanDevice(MessageInfo info, JSONObject json, PushRecord pushRecord) {
- System b_android = xiaoMiPushUtil.systemService.getSystem("ANDROID",
- Constant.systemCommonConfig.getAndroidPackageName());
- return pushApp(info, json, pushRecord, b_android);
+ XiaoMiPushUtil.singlePushAndroidForXM(info, JsonUtil.parseData(jsonObject), regIds, system);
}
/**
@@ -220,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;
@@ -229,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());
@@ -251,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