From 393e3a365b5ebbed6e9eef07fbd18881cde73711 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 28 三月 2020 16:51:04 +0800
Subject: [PATCH] Merge branch 'div' into div-1
---
fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java | 157 +++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 147 insertions(+), 10 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java b/fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java
index 99ac5c5..fa7b643 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java
@@ -1,12 +1,50 @@
package com.yeshi.fanli.util.factory;
-import com.yeshi.fanli.controller.admin.PushController;
+import java.io.UnsupportedEncodingException;
+
+import com.yeshi.fanli.dto.push.PushTypeEnum;
+import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONObject;
public class IOSPushFactory {
+
+ private static JSONObject filterPushContent(JSONObject json) {
+ if (json != null)
+ try {
+ boolean ischange = false;
+ while (json.toString().getBytes("UTF-8").length > 253) {
+ // 棣栧厛鍓婂噺鍐呭锛岀劧鍚庡墛鍑忔爣棰�
+ String title = json.optJSONObject("aps").optJSONObject("alert").optString("title");
+ String body = json.optJSONObject("aps").optJSONObject("alert").optString("body");
+ if (StringUtil.isNullOrEmpty(body) || body.length() < 4) {
+ // 鍓婂噺鏍囬
+ if (!StringUtil.isNullOrEmpty(title) && title.length() > 6) {
+ json.optJSONObject("aps").optJSONObject("alert").put("title",
+ title.substring(0, title.length() - 1));
+ continue;
+ }
+ } else {
+ ischange = true;
+ json.optJSONObject("aps").optJSONObject("alert").put("body",
+ body.substring(0, body.length() - 1));
+ continue;
+ }
+ }
+
+ if (ischange) {
+ String body = json.optJSONObject("aps").optJSONObject("alert").optString("body");
+ json.optJSONObject("aps").optJSONObject("alert").put("body", body + "...");
+ }
+
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ return json;
+ }
+
/**
- * IOS鍟嗗搧鎺ㄩ�� 杩斿洖JSON鐨勫瓧绗︿覆闀垮害灏忎簬绛変簬256
+ * IOS鍟嗗搧鎺ㄩ�� 杩斿洖JSON鐨勫瓧绗︿覆闀垮害灏忎簬绛変簬256
*
* @param auctionId
* 娣樺疂鍟嗗搧ID
@@ -21,16 +59,18 @@
alert.put("badge", "1");
alert.put("sound", "default");
alert.put("url", "http://id=" + auctionId);
- alert.put("type", PushController.GOODS);
+ alert.put("type",PushTypeEnum.goodsdetail.getCode());
+
JSONObject aps = new JSONObject();
aps.put("alert", alert);
+ //aps.put("badge", 1);
JSONObject json = new JSONObject();
json.put("aps", aps);
- return json;
+ return filterPushContent(json);
}
/**
- * IOS绔欏唴淇℃帹閫� 杩斿洖JSON鐨勫瓧绗︿覆闀垮害灏忎簬绛変簬256
+ * IOS绔欏唴淇℃帹閫� 杩斿洖JSON鐨勫瓧绗︿覆闀垮害灏忎簬绛変簬256
*
* @param title
* @param body
@@ -42,16 +82,17 @@
alert.put("body", body);
alert.put("badge", "1");
alert.put("sound", "default");
- alert.put("type", PushController.ZNX);
+ alert.put("type", PushTypeEnum.ZNX.getCode());
JSONObject aps = new JSONObject();
aps.put("alert", alert);
+ //aps.put("badge", 1);
JSONObject json = new JSONObject();
json.put("aps", aps);
- return json;
+ return filterPushContent(json);
}
/**
- * IOS閾炬帴鎺ㄩ�� 杩斿洖JSON鐨勫瓧绗︿覆闀垮害灏忎簬绛変簬256
+ * IOS閾炬帴鎺ㄩ�� 杩斿洖JSON鐨勫瓧绗︿覆闀垮害灏忎簬绛変簬256
*
* @param shortUrl
* 鐭摼
@@ -65,14 +106,110 @@
alert.put("body", body);
alert.put("badge", "1");
alert.put("sound", "default");
- alert.put("type", PushController.URL);
+ alert.put("type",PushTypeEnum.url.getCode());
alert.put("url", shortUrl);
JSONObject aps = new JSONObject();
aps.put("alert", alert);
+ //aps.put("badge", 1);
JSONObject json = new JSONObject();
json.put("aps", aps);
- return json;
+ return filterPushContent(json);
}
+ /**
+ * WEEX椤甸潰鎺ㄩ��
+ *
+ * @param shortUrl
+ * @param title
+ * @param body
+ * @return
+ */
+ public static JSONObject createWEEXPush(String shortUrl, String title, String body) {
+ JSONObject alert = new JSONObject();
+ alert.put("title", title);
+ alert.put("body", body);
+ alert.put("badge", "1");
+ alert.put("sound", "default");
+ alert.put("type", PushTypeEnum.weex.getCode());
+ alert.put("url", shortUrl);
+
+ JSONObject aps = new JSONObject();
+ aps.put("alert", alert);
+ //aps.put("badge", 1);
+ JSONObject json = new JSONObject();
+ json.put("aps", aps);
+ return filterPushContent(json);
+ }
+
+ /**
+ * 鐧惧窛缃戦〉鎺ㄩ��
+ *
+ * @param shortUrl
+ * @param title
+ * @param body
+ * @return
+ */
+ public static JSONObject createBaiChuanPush(String shortUrl, String title, String body) {
+ JSONObject alert = new JSONObject();
+ alert.put("title", title);
+ alert.put("body", body);
+ alert.put("badge", "1");
+ alert.put("sound", "default");
+ alert.put("type", PushTypeEnum.baichuan.getCode());
+ alert.put("url", shortUrl);
+
+ JSONObject aps = new JSONObject();
+ aps.put("alert", alert);
+ //aps.put("badge", 1);
+ JSONObject json = new JSONObject();
+ json.put("aps", aps);
+ return filterPushContent(json);
+ }
+
+ /**
+ * 绂忓埄涓績鎺ㄩ��
+ * @param title
+ * @param body
+ * @return
+ */
+ public static JSONObject createWelfarePush( String title, String body) {
+ JSONObject alert = new JSONObject();
+ alert.put("title", title);
+ alert.put("body", body);
+ alert.put("badge", "1");
+ alert.put("sound", "default");
+ alert.put("type", PushTypeEnum.welfare.getCode());
+
+ JSONObject aps = new JSONObject();
+ aps.put("alert", alert);
+ //aps.put("badge", 1);
+ JSONObject json = new JSONObject();
+ json.put("aps", aps);
+ return filterPushContent(json);
+ }
+
+
+ /**
+ * 鐢ㄦ埛绛惧埌
+ * @param title
+ * @param body
+ * @return
+ */
+ public static JSONObject createUserSignInPush( String title, String body) {
+ JSONObject alert = new JSONObject();
+ alert.put("title", title);
+ alert.put("body", body);
+ alert.put("badge", "1");
+ alert.put("sound", "default");
+ alert.put("type", PushTypeEnum.signin.getCode());
+
+ JSONObject aps = new JSONObject();
+ aps.put("alert", alert);
+ //aps.put("badge", 1);
+ JSONObject json = new JSONObject();
+ json.put("aps", aps);
+ return filterPushContent(json);
+ }
+
}
--
Gitblit v1.8.0