Administrator
2018-11-30 114685cc870d0e00dc157656ae9039f285d3f5f1
fanli/src/main/java/com/yeshi/fanli/util/factory/IOSPushFactory.java
@@ -1,12 +1,35 @@
package com.yeshi.fanli.util.factory;
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)
         while (json.toString().getBytes().length > 256) {
            // 首先削减内容,然后削减标题
            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 {
               json.optJSONObject("aps").optJSONObject("alert").put("body", body.substring(0, body.length() - 1));
               continue;
            }
         }
      return json;
   }
   /**
    * IOS商品推送    返回JSON的字符串长度小于等于256
    * IOS商品推送 返回JSON的字符串长度小于等于256
    * 
    * @param auctionId
    *            淘宝商品ID
@@ -22,15 +45,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 +71,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 +96,7 @@
      aps.put("alert", alert);
      JSONObject json = new JSONObject();
      json.put("aps", aps);
      return json;
      return filterPushContent(json);
   }
}