From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- fanli/src/main/java/com/yeshi/fanli/util/push/IOSPushUtil.java | 69 ++++++++++++++++++++-------------- 1 files changed, 41 insertions(+), 28 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 e6dff06..af963df 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,26 +84,35 @@ 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 == PushController.WEEX) { + } 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 == PushController.BAICHUAN) { - String shortUrl = HttpUtil.getShortLink(url); - if (StringUtil.isNullOrEmpty(shortUrl)) - throw new Exception("鑾峰彇鐭摼鍑洪敊"); + } else if (type == PushTypeEnum.baichuan.getCode()) { + String shortUrl = url; + // 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; @@ -109,7 +121,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); } } @@ -117,14 +129,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"); @@ -149,11 +159,9 @@ PushNotificationManager pushManager = new PushNotificationManager(); // true锛氳〃绀虹殑鏄骇鍝佺嚎涓婂彂甯冩帹閫佹湇鍔� false锛氳〃绀虹殑鏄骇鍝佹祴璇曟帹閫佹湇鍔� if (Constant.IS_TEST) - pushManager.initializeConnection( - new AppleNotificationServerBasicImpl(certificate, certificatePassword, false)); + pushManager.initializeConnection(new AppleNotificationServerBasicImpl(certificate, certificatePWD, false)); else - pushManager - .initializeConnection(new AppleNotificationServerBasicImpl(certificate, certificatePassword, true)); + pushManager.initializeConnection(new AppleNotificationServerBasicImpl(certificate, certificatePWD, true)); List<Device> deviceList = new ArrayList<Device>(); for (String token : tokenList) { @@ -217,7 +225,10 @@ * @throws Exception */ public static void executePushIOS(List<String> tokenList, JSONObject json) throws Exception { - pushIOS(tokenList, json); + InputStream certificate = IOSPushUtil.class.getClassLoader() + .getResourceAsStream("certificate/pushCertificate.p12"); // 璇诲彇.p12鏂囦欢 + String certificatePassword = Constant.systemCommonConfig.getIosPushCertificatePwd(); + pushIOS(tokenList, json, certificate, certificatePassword); } /** @@ -235,7 +246,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("&"); @@ -248,23 +259,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 == PushController.WEEX) { + } 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 == PushController.BAICHUAN) { + } 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