From 53ea50a0c82d776fce71369bd986396537a8d0e5 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期四, 07 十一月 2019 16:05:18 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div
---
fanli/src/main/java/com/yeshi/fanli/util/push/IOSPushUtil.java | 85 ++++++++++++++++++++++++++++++------------
1 files changed, 60 insertions(+), 25 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/push/IOSPushUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/push/IOSPushUtil.java
index 5a7afed..6412692 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/push/IOSPushUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/push/IOSPushUtil.java
@@ -8,19 +8,19 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import org.yeshi.utils.HttpUtil;
import com.google.gson.Gson;
import com.yeshi.fanli.controller.admin.PushController;
-import com.yeshi.fanli.entity.system.System;
+import com.yeshi.fanli.dto.push.PushTypeEnum;
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.StringUtil;
import com.yeshi.fanli.util.factory.IOSPushFactory;
-import org.yeshi.utils.HttpUtil;
import javapns.devices.Device;
import javapns.devices.implementations.basic.BasicDevice;
@@ -36,12 +36,12 @@
private static IOSPushUtil iosPushUtil;
@Autowired
- private SystemService systemService;
+ private BusinessSystemService businessSystemService;
@PostConstruct
public void init() {
iosPushUtil = this;
- iosPushUtil.systemService = this.systemService;
+ iosPushUtil.businessSystemService = this.businessSystemService;
}
/**
@@ -58,6 +58,9 @@
public static String allPushIOS(List<String> deviceTokenList, MessageInfo info, String url, int type)
throws Exception {
+ if (Constant.IS_TEST)
+ return null;
+
Gson gson = new Gson();
PushLogHelper.iosInfo("IOS鎺ㄩ�佽澶囨暟涓�:" + deviceTokenList.size());
PushLogHelper.iosInfo("IOS鎺ㄩ�佺殑鍐呭涓猴細" + gson.toJson(info));
@@ -68,7 +71,7 @@
// json鑷畾涔変紶鍊�
JSONObject json = null;
- if (type == PushController.GOODS) {
+ if (type == PushTypeEnum.goodsdetail.getCode()) {
Long auctionId = null;
if (url.contains("id=")) {
String[] sts = url.split("\\?")[1].split("&");
@@ -81,16 +84,34 @@
if (auctionId == null)
throw new Exception("娣樺疂鍟嗗搧ID鎻愬彇鍑洪敊");
json = IOSPushFactory.createGoodsPush(auctionId, info.getTitle(), info.getContent());
- } else if (type == PushController.URL) {
+ } else if (type == PushTypeEnum.url.getCode()) {
String shortUrl = HttpUtil.getShortLink(url);
if (StringUtil.isNullOrEmpty(shortUrl))
throw new Exception("鑾峰彇鐭摼鍑洪敊");
json = IOSPushFactory.createURLPush(shortUrl, info.getTitle(), info.getContent());
- } else if (type == PushController.ZNX) {
+ } else if (type == PushTypeEnum.ZNX.getCode()) {
json = IOSPushFactory.createZNXPush(info.getTitle(), info.getContent());
+ } else if (type == PushTypeEnum.weex.getCode()) {
+ String shortUrl = HttpUtil.getShortLink(url);
+ if (StringUtil.isNullOrEmpty(shortUrl))
+ throw new Exception("鑾峰彇鐭摼鍑洪敊");
+ json = IOSPushFactory.createWEEXPush(shortUrl, info.getTitle(), info.getContent());
+ } else if (type == PushTypeEnum.baichuan.getCode()) {
+ String shortUrl = HttpUtil.getShortLink(url);
+ if (StringUtil.isNullOrEmpty(shortUrl))
+ throw new Exception("鑾峰彇鐭摼鍑洪敊");
+ json = IOSPushFactory.createBaiChuanPush(shortUrl, info.getTitle(), info.getContent());
+ } else if (type == PushTypeEnum.welfare.getCode()) {
+ json = IOSPushFactory.createWelfarePush(info.getTitle(), info.getContent());
+ } else if (type == PushTypeEnum.signin.getCode()) {
+ json = IOSPushFactory.createUserSignInPush(info.getTitle(), info.getContent());
}
+
// 鍒嗙粍鎺ㄩ�� 姣�50涓澶囦负涓�缁�
+ InputStream certificate = IOSPushUtil.class.getClassLoader()
+ .getResourceAsStream("certificate/pushCertificate.p12"); // 璇诲彇.p12鏂囦欢
+ String certificatePassword = Constant.systemCommonConfig.getIosPushCertificatePwd();
if (tokenList != null && tokenList.size() > 0) {
int pageSize = 50;
int page = tokenList.size() % pageSize == 0 ? tokenList.size() / pageSize : tokenList.size() / pageSize + 1;
@@ -99,7 +120,7 @@
int end = start + pageSize;
if (end > tokenList.size())
end = tokenList.size();
- pushIOS(tokenList.subList(start, end), json);
+ pushIOS(tokenList.subList(start, end), json, certificate, certificatePassword);
}
}
@@ -107,14 +128,12 @@
return null;
}
- private static String pushIOS(List<String> deviceTokenList, JSONObject json) throws Exception {
+ public static String pushIOS(List<String> deviceTokenList, JSONObject json, InputStream certificate,
+ String certificatePWD) throws Exception {
List<String> tokenList = new ArrayList<String>();
for (String deviceToken : deviceTokenList) {
tokenList.add(deviceToken);
}
- InputStream certificate = IOSPushUtil.class.getClassLoader()
- .getResourceAsStream("certificate/pushCertificate.p12"); // 璇诲彇.p12鏂囦欢
- String certificatePassword = Constant.systemCommonConfig.getIosPushCertificatePwd();// 姝ゅ娉ㄦ剰瀵煎嚭鐨勮瘉涔﹀瘑鐮佷笉鑳戒负绌哄洜涓虹┖瀵嗙爜浼氭姤閿�
while (json.toString().getBytes().length > 256) {
// 棣栧厛鍓婂噺鍐呭锛岀劧鍚庡墛鍑忔爣棰�
String title = json.optJSONObject("aps").optJSONObject("alert").optString("title");
@@ -138,7 +157,10 @@
PushNotificationManager pushManager = new PushNotificationManager();
// true锛氳〃绀虹殑鏄骇鍝佺嚎涓婂彂甯冩帹閫佹湇鍔� false锛氳〃绀虹殑鏄骇鍝佹祴璇曟帹閫佹湇鍔�
- pushManager.initializeConnection(new AppleNotificationServerBasicImpl(certificate, certificatePassword, true));
+ if (Constant.IS_TEST)
+ pushManager.initializeConnection(new AppleNotificationServerBasicImpl(certificate, certificatePWD, false));
+ else
+ pushManager.initializeConnection(new AppleNotificationServerBasicImpl(certificate, certificatePWD, true));
List<Device> deviceList = new ArrayList<Device>();
for (String token : tokenList) {
@@ -193,19 +215,21 @@
return 4;
}
}
-
-
+
/**
* 鎵ц鎺ㄩ��
+ *
* @param tokenList
* @param json
* @throws Exception
*/
- public static void executePushIOS(List<String> tokenList, JSONObject json) throws Exception{
- pushIOS(tokenList, json);
+ public static void executePushIOS(List<String> tokenList, JSONObject json) throws Exception {
+ InputStream certificate = IOSPushUtil.class.getClassLoader()
+ .getResourceAsStream("certificate/pushCertificate.p12"); // 璇诲彇.p12鏂囦欢
+ String certificatePassword = Constant.systemCommonConfig.getIosPushCertificatePwd();
+ pushIOS(tokenList, json, certificate, certificatePassword);
}
-
-
+
/**
*
* 鏂规硶璇存槑: IOS 澶氭帹
@@ -217,12 +241,11 @@
* @return
* @throws Exception
*/
- public static JSONObject getJSONObject(MessageInfo info, String url, int type)
- throws Exception {
+ public static JSONObject getJSONObject(MessageInfo info, String url, int type) throws Exception {
// json鑷畾涔変紶鍊�
JSONObject json = null;
- if (type == PushController.GOODS) {
+ if (type == PushTypeEnum.goodsdetail.getCode()) {
Long auctionId = null;
if (url.contains("id=")) {
String[] sts = url.split("\\?")[1].split("&");
@@ -235,13 +258,25 @@
if (auctionId == null)
throw new Exception("娣樺疂鍟嗗搧ID鎻愬彇鍑洪敊");
json = IOSPushFactory.createGoodsPush(auctionId, info.getTitle(), info.getContent());
- } else if (type == PushController.URL) {
+ } else if (type == PushTypeEnum.url.getCode()) {
String shortUrl = HttpUtil.getShortLink(url);
if (StringUtil.isNullOrEmpty(shortUrl))
throw new Exception("鑾峰彇鐭摼鍑洪敊");
json = IOSPushFactory.createURLPush(shortUrl, info.getTitle(), info.getContent());
- } else if (type == PushController.ZNX) {
+ } else if (type == PushTypeEnum.ZNX.getCode()) {
json = IOSPushFactory.createZNXPush(info.getTitle(), info.getContent());
+ } else if (type == PushTypeEnum.weex.getCode()) {
+ String shortUrl = HttpUtil.getShortLink(url);
+ if (StringUtil.isNullOrEmpty(shortUrl))
+ shortUrl = url;
+ json = IOSPushFactory.createWEEXPush(shortUrl, info.getTitle(), info.getContent());
+ } else if (type == PushTypeEnum.baichuan.getCode()) {
+ String shortUrl = HttpUtil.getShortLink(url);
+ if (StringUtil.isNullOrEmpty(shortUrl))
+ shortUrl = url;
+ json = IOSPushFactory.createBaiChuanPush(shortUrl, info.getTitle(), info.getContent());
+ } else if (type == PushTypeEnum.signin.getCode()) {
+ json = IOSPushFactory.createUserSignInPush(info.getTitle(), info.getContent());
}
return json;
--
Gitblit v1.8.0