admin
2020-07-03 651a15c78f668bef3859d9ed1bb7ad0b669d3600
fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushServiceImpl.java
@@ -4,6 +4,7 @@
import javax.annotation.Resource;
import com.yeshi.fanli.entity.SystemEnum;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.AccountMessageMapper;
@@ -74,7 +75,7 @@
   @Override
   public void pushGoods(Long uid, String title, String content, String url, List<String> listIOS,
         List<String> listAndroid) throws PushException {
         List<String> listAndroid, SystemEnum system) throws PushException {
      String gids = url.split("id=")[1];
      String gid = gids.split("&")[0];
      if (StringUtil.isNullOrEmpty(gid))
@@ -87,7 +88,7 @@
      /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listIOS == null || listIOS.size() > 0) {
         // 限制推送版本号:0
         String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS);
         String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS,system);
         if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
            iosPushService.pushGoods(uid, Long.parseLong(gid), title, content, codes);
         }
@@ -96,7 +97,7 @@
      /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listAndroid == null || listAndroid.size() > 0) {
         // 限制推送版本号:0
         String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid);
         String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid,system);
         if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
            xmPushService.pushGoods(uid, Long.parseLong(gid), title, content, versions);
         }
@@ -104,7 +105,7 @@
         if (listAndroid == null || listAndroid.size() > 0) {
            List<Integer> versionCodeList = null;
            if (listAndroid != null)
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
            hwPushService.pushGoods(uid, Long.parseLong(gid), title, content, versionCodeList);
         }
@@ -112,14 +113,14 @@
         if (listAndroid == null || listAndroid.size() > 0) {
            List<Integer> versionCodeList = null;
            if (listAndroid != null)
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
            oPPOPushService.pushGoods(uid, Long.parseLong(gid), title, content, versionCodeList);
         }
         // VIVO推送
         if (listAndroid == null || listAndroid.size() > 0) {
            List<Integer> versionCodeList = null;
            if (listAndroid != null)
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
            vIVOPushService.pushGoods(uid, Long.parseLong(gid), title, content, versionCodeList);
         }
@@ -139,7 +140,7 @@
   @Override
   public void pushUrl(Long uid, String title, String content, String url, List<String> listIOS,
         List<String> listAndroid) throws PushException {
         List<String> listAndroid, SystemEnum system) throws PushException {
      if (StringUtil.isNullOrEmpty(url))
         throw new PushException(1, "无推送链接");
@@ -151,7 +152,7 @@
      /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listIOS == null || listIOS.size() > 0) {
         // 限制推送版本号:0
         String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS);
         String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS,system);
         if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
            iosPushService.pushUrl(uid, url, title, content, codes);
         }
@@ -160,7 +161,7 @@
      /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listAndroid == null || listAndroid.size() > 0) {
         // 限制推送版本号:0
         String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid);
         String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid,system);
         if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
            xmPushService.pushUrl(uid, url, title, content, versions);
         }
@@ -169,7 +170,7 @@
         if (listAndroid == null || listAndroid.size() > 0) {
            List<Integer> versionCodeList = null;
            if (listAndroid != null)
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
            hwPushService.pushUrl(uid, url, title, content, versionCodeList);
         }
@@ -177,7 +178,7 @@
         if (listAndroid == null || listAndroid.size() > 0) {
            List<Integer> versionCodeList = null;
            if (listAndroid != null)
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
            oPPOPushService.pushUrl(uid, url, title, content, versionCodeList);
         }
@@ -185,7 +186,7 @@
         if (listAndroid == null || listAndroid.size() > 0) {
            List<Integer> versionCodeList = null;
            if (listAndroid != null)
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
            vIVOPushService.pushUrl(uid, url, title, content, versionCodeList);
         }
@@ -203,7 +204,7 @@
   }
   @Override
   public void pushZNX(Long uId, String title, String content, List<String> listIOS, List<String> listAndroid)
   public void pushZNX(Long uId, String title, String content, List<String> listIOS, List<String> listAndroid, SystemEnum system)
         throws PushException {
      if (StringUtil.isNullOrEmpty(title))
         throw new PushException(1, "无推送标题");
@@ -234,7 +235,7 @@
      /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listIOS == null || listIOS.size() > 0) {
         // 限制推送版本号:0
         String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS);
         String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS,system);
         if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
            iosPushService.pushZNX(uId, accountMessage, systemZnx, codes);
         }
@@ -243,7 +244,7 @@
      /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listAndroid == null || listAndroid.size() > 0) {
         // 限制推送版本号:0
         String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid);
         String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid,system);
         if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
            xmPushService.pushZNX(uId, accountMessage, systemZnx, versions);
         }
@@ -252,7 +253,7 @@
         if (listAndroid == null || listAndroid.size() > 0) {
            List<Integer> versionCodeList = null;
            if (listAndroid != null)
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
            hwPushService.pushZNX(uId, title, content, versionCodeList);
         }
@@ -260,7 +261,7 @@
         if (listAndroid == null || listAndroid.size() > 0) {
            List<Integer> versionCodeList = null;
            if (listAndroid != null)
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
            oPPOPushService.pushZNX(uId, title, content, versionCodeList);
         }
@@ -268,7 +269,7 @@
         if (listAndroid == null || listAndroid.size() > 0) {
            List<Integer> versionCodeList = null;
            if (listAndroid != null)
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
               versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
            vIVOPushService.pushZNX(uId, title, content, versionCodeList);
         }
      }
@@ -286,7 +287,7 @@
   @Override
   public void pushWEEX(Long uid, String title, String content, String weexUrl, List<String> listIOS,
         List<String> listAndroid) throws PushException {
         List<String> listAndroid, SystemEnum system) throws PushException {
      if (StringUtil.isNullOrEmpty(title))
         throw new PushException(1, "无推送标题");
      if (StringUtil.isNullOrEmpty(content))
@@ -297,7 +298,7 @@
      /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listIOS == null || listIOS.size() > 0) {
         // 限制推送版本号:0
         String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS);
         String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS,system);
         if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
            iosPushService.pushWEEX(uid, title, content, weexUrl, codes);
         }
@@ -306,7 +307,7 @@
      /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listAndroid == null || listAndroid.size() > 0) {
         // 限制推送版本号:31
         String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid);
         String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid,system);
         if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
            xmPushService.pushWEEX(uid, title, content, weexUrl, versions);
         }
@@ -316,7 +317,7 @@
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
         hwPushService.pushWEEX(uid, title, content, weexUrl, versionCodeList);
      }
@@ -324,7 +325,7 @@
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
         oPPOPushService.pushWEEX(uid, title, content, weexUrl, versionCodeList);
      }
@@ -332,7 +333,7 @@
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
         vIVOPushService.pushWEEX(uid, title, content, weexUrl, versionCodeList);
      }
@@ -349,7 +350,7 @@
   @Override
   public void pushBaiChuanUrl(Long uid, String title, String content, String url, List<String> listIOS,
         List<String> listAndroid) throws PushException {
         List<String> listAndroid, SystemEnum system) throws PushException {
      if (StringUtil.isNullOrEmpty(title))
         throw new PushException(1, "无推送标题");
@@ -361,7 +362,7 @@
      /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listIOS == null || listIOS.size() > 0) {
         // 限制推送版本号:0
         String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS);
         String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS,system);
         if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
            iosPushService.pushBaiChuanUrl(uid, title, content, url, codes);
         }
@@ -370,7 +371,7 @@
      /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listAndroid == null || listAndroid.size() > 0) {
         // 限制推送版本号:31
         String versions = getEffectiveVersions(31, AppVersionInfo.PLATFORM_ANDROID, listAndroid);
         String versions = getEffectiveVersions(31, AppVersionInfo.PLATFORM_ANDROID, listAndroid,system);
         if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
            xmPushService.pushBaiChuanUrl(uid, title, content, url, versions);
         }
@@ -380,7 +381,7 @@
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
         hwPushService.pushBaiChuanUrl(uid, title, content, url, versionCodeList);
      }
@@ -388,7 +389,7 @@
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
         oPPOPushService.pushBaiChuanUrl(uid, title, content, url, versionCodeList);
      }
@@ -396,7 +397,7 @@
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
         vIVOPushService.pushBaiChuanUrl(uid, title, content, url, versionCodeList);
      }
@@ -414,7 +415,7 @@
   @Override
   public void pushWelfareCenter(Long uid, String title, String content, List<String> listIOS,
         List<String> listAndroid) throws PushException {
         List<String> listAndroid, SystemEnum system) throws PushException {
      if (StringUtil.isNullOrEmpty(title))
         throw new PushException(1, "无推送标题");
@@ -424,7 +425,7 @@
      /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listIOS == null || listIOS.size() > 0) {
         // 限制推送版本号:0
         String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS);
         String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS,system);
         if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
            iosPushService.pushWelfareCenter(uid, title, content, codes);
         }
@@ -433,7 +434,7 @@
      /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listAndroid == null || listAndroid.size() > 0) {
         // 限制推送版本号:36
         String versions = getEffectiveVersions(36, AppVersionInfo.PLATFORM_ANDROID, listAndroid);
         String versions = getEffectiveVersions(36, AppVersionInfo.PLATFORM_ANDROID, listAndroid,system);
         if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
            xmPushService.pushWelfareCenter(uid, title, content, versions);
         }
@@ -443,7 +444,7 @@
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
         hwPushService.pushWelfareCenter(uid, title, content, versionCodeList);
      }
@@ -451,7 +452,7 @@
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
         oPPOPushService.pushWelfareCenter(uid, title, content, versionCodeList);
      }
@@ -459,7 +460,7 @@
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
         vIVOPushService.pushWelfareCenter(uid, title, content, versionCodeList);
      }
@@ -477,11 +478,10 @@
   /**
    * 查询能推送版本号
    * 
    * @param versionCode
    * @param listVersion
    * @return
    */
   private String getEffectiveVersions(int minCode, String type, List<String> listVersion) throws PushException {
   private String getEffectiveVersions(int minCode, String type, List<String> listVersion, SystemEnum system) throws PushException {
      if (minCode == 0 && listVersion == null) {
         return null;
@@ -489,14 +489,14 @@
      String versions = "";
      if (listVersion == null) {
         List<AppVersionInfo> list = appVersionService.listByPlatformAndMinVersionCode(type, minCode);
         List<AppVersionInfo> list = appVersionService.listByPlatformAndMinVersionCode(type, minCode,system);
         if (list != null) {
            for (AppVersionInfo appVersion : list) {
               versions += appVersion.getVersion() + ",";
            }
         }
      } else {
         List<AppVersionInfo> list = appVersionService.listByVersions(type, listVersion);
         List<AppVersionInfo> list = appVersionService.listByVersions(type, listVersion,system);
         if (list != null) {
            for (AppVersionInfo appVersion : list) {
               Integer code = appVersion.getVersionCode();
@@ -517,11 +517,10 @@
   /**
    * 查询能推送版本号code
    * 
    * @param versionCode
    * @param listVersion
    * @return
    */
   private String getEffectiveVersionCodes(int minCode, String type, List<String> listVersion) throws PushException {
   private String getEffectiveVersionCodes(int minCode, String type, List<String> listVersion,SystemEnum system) throws PushException {
      if (minCode == 0 && listVersion == null) {
         return null;
@@ -529,14 +528,14 @@
      String versionCodes = "";
      if (listVersion == null) {
         List<AppVersionInfo> list = appVersionService.listByPlatformAndMinVersionCode(type, minCode);
         List<AppVersionInfo> list = appVersionService.listByPlatformAndMinVersionCode(type, minCode,system);
         if (list != null) {
            for (AppVersionInfo appVersion : list) {
               versionCodes += appVersion.getVersionCode() + ",";
            }
         }
      } else {
         List<AppVersionInfo> list = appVersionService.listByVersions(type, listVersion);
         List<AppVersionInfo> list = appVersionService.listByVersions(type, listVersion,system);
         if (list != null) {
            for (AppVersionInfo appVersion : list) {
               Integer code = appVersion.getVersionCode();
@@ -556,7 +555,7 @@
   @Override
   public void pushUserSignInNotification(Long uid, String title, String content, List<String> listIOS,
         List<String> listAndroid) throws PushException {
         List<String> listAndroid,SystemEnum system) throws PushException {
      if (StringUtil.isNullOrEmpty(title))
         throw new PushException(1, "无推送标题");
      if (StringUtil.isNullOrEmpty(content))
@@ -565,7 +564,7 @@
      /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listIOS == null || listIOS.size() > 0) {
         // 限制推送版本号:1.6.5以后
         String codes = getEffectiveVersionCodes(60, AppVersionInfo.PLATFORM_IOS, listIOS);
         String codes = getEffectiveVersionCodes(60, AppVersionInfo.PLATFORM_IOS, listIOS,system);
         if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
            iosPushService.pushUserSignInNotification(uid, title, content, codes);
         }
@@ -574,7 +573,7 @@
      /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listAndroid == null || listAndroid.size() > 0) {
         // 限制推送版本号:1.6.5以后
         String versions = getEffectiveVersions(47, AppVersionInfo.PLATFORM_ANDROID, listAndroid);
         String versions = getEffectiveVersions(47, AppVersionInfo.PLATFORM_ANDROID, listAndroid,system);
         if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
            xmPushService.pushUserSignInNotification(uid, title, content, versions);
         }
@@ -584,7 +583,7 @@
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
         hwPushService.pushUserSignInNotification(uid, title, content, versionCodeList);
      }
@@ -592,7 +591,7 @@
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
         oPPOPushService.pushUserSignInNotification(uid, title, content, versionCodeList);
      }
@@ -600,7 +599,7 @@
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system);
         vIVOPushService.pushUserSignInNotification(uid, title, content, versionCodeList);
      }