From 4db8086da94d99ddce6bc7422fef9fde58dff36c Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@Admin> Date: 星期一, 03 十二月 2018 13:06:45 +0800 Subject: [PATCH] 队员排序 根据邀请时间倒序 --- fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java | 50 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 44 insertions(+), 6 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..4e137e7 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,49 @@ package com.yeshi.fanli.util.factory; +import java.io.UnsupportedEncodingException; + import com.yeshi.fanli.controller.admin.PushController; +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 @@ -22,15 +59,16 @@ alert.put("sound", "default"); alert.put("url", "http://id=" + auctionId); alert.put("type", PushController.GOODS); + JSONObject aps = new JSONObject(); aps.put("alert", alert); JSONObject json = new JSONObject(); json.put("aps", aps); - return json; + return filterPushContent(json); } /** - * IOS绔欏唴淇℃帹閫� 杩斿洖JSON鐨勫瓧绗︿覆闀垮害灏忎簬绛変簬256 + * IOS绔欏唴淇℃帹閫� 杩斿洖JSON鐨勫瓧绗︿覆闀垮害灏忎簬绛変簬256 * * @param title * @param body @@ -47,11 +85,11 @@ aps.put("alert", alert); JSONObject json = new JSONObject(); json.put("aps", aps); - return json; + return filterPushContent(json); } /** - * IOS閾炬帴鎺ㄩ�� 杩斿洖JSON鐨勫瓧绗︿覆闀垮害灏忎簬绛変簬256 + * IOS閾炬帴鎺ㄩ�� 杩斿洖JSON鐨勫瓧绗︿覆闀垮害灏忎簬绛変簬256 * * @param shortUrl * 鐭摼 @@ -72,7 +110,7 @@ aps.put("alert", alert); JSONObject json = new JSONObject(); json.put("aps", aps); - return json; + return filterPushContent(json); } } -- Gitblit v1.8.0