From 651a15c78f668bef3859d9ed1bb7ad0b669d3600 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 03 七月 2020 17:52:07 +0800 Subject: [PATCH] 多APP优化 --- fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushServiceImpl.java | 245 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 205 insertions(+), 40 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushServiceImpl.java index 3451cf8..bcca91e 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushServiceImpl.java @@ -4,23 +4,26 @@ import javax.annotation.Resource; +import com.yeshi.fanli.entity.SystemEnum; import org.springframework.stereotype.Service; -import com.yeshi.fanli.controller.admin.PushController; import com.yeshi.fanli.dao.mybatis.AccountMessageMapper; import com.yeshi.fanli.dao.mybatis.push.PushRecordMapper; +import com.yeshi.fanli.dto.push.PushTypeEnum; import com.yeshi.fanli.entity.AppVersionInfo; import com.yeshi.fanli.entity.bus.user.AccountMessage; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.system.SystemZnx; import com.yeshi.fanli.entity.xinge.PushRecord; -import com.yeshi.fanli.exception.PushException; +import com.yeshi.fanli.exception.push.PushException; import com.yeshi.fanli.service.inter.config.AppVersionService; import com.yeshi.fanli.service.inter.push.DeviceTokenHWService; import com.yeshi.fanli.service.inter.push.HWPushService; import com.yeshi.fanli.service.inter.push.IOSPushService; +import com.yeshi.fanli.service.inter.push.OPPOPushService; import com.yeshi.fanli.service.inter.push.PushRecordService; import com.yeshi.fanli.service.inter.push.PushService; +import com.yeshi.fanli.service.inter.push.VIVOPushService; import com.yeshi.fanli.service.inter.push.XMPushService; import com.yeshi.fanli.service.inter.user.SystemZnxService; import com.yeshi.fanli.util.Constant; @@ -56,6 +59,12 @@ private XMPushService xmPushService; @Resource + private OPPOPushService oPPOPushService; + + @Resource + private VIVOPushService vIVOPushService; + + @Resource private PushRecordMapper pushRecordMapper; @Resource @@ -66,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)) @@ -79,7 +88,7 @@ /* IOS绔帹閫� (娉ㄦ槑锛歭ist绛変簬 '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); } @@ -88,7 +97,7 @@ /* Android绔帹閫� (娉ㄦ槑锛歭ist绛変簬 '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); } @@ -96,15 +105,31 @@ 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); } + + // OPPO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + 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,system); + vIVOPushService.pushGoods(uid, Long.parseLong(gid), title, content, versionCodeList); + } + } PushRecord pushRecord = new PushRecord(); pushRecord.setUid(uid); pushRecord.setState(1); - pushRecord.setType(PushController.GOODS); // 閮芥垚鍔� + pushRecord.setType(PushTypeEnum.goodsdetail.getCode()); // 閮芥垚鍔� pushRecord.setUrl(url); pushRecord.setTitle(title); pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName()); @@ -115,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, "鏃犳帹閫侀摼鎺�"); @@ -127,7 +152,7 @@ /* IOS绔帹閫� (娉ㄦ槑锛歭ist绛変簬 '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); } @@ -136,7 +161,7 @@ /* Android绔帹閫� (娉ㄦ槑锛歭ist绛変簬 '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); } @@ -145,15 +170,32 @@ 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); } + + // OPPO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + oPPOPushService.pushUrl(uid, url, title, content, versionCodeList); + } + + // VIVO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + vIVOPushService.pushUrl(uid, url, title, content, versionCodeList); + } + } PushRecord pushRecord = new PushRecord(); pushRecord.setUid(uid); pushRecord.setState(1); - pushRecord.setType(PushController.URL); + pushRecord.setType(PushTypeEnum.url.getCode()); pushRecord.setUrl(url); pushRecord.setTitle(title); pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName()); @@ -162,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, "鏃犳帹閫佹爣棰�"); @@ -193,7 +235,7 @@ /* IOS绔帹閫� (娉ㄦ槑锛歭ist绛変簬 '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); } @@ -202,7 +244,7 @@ /* Android绔帹閫� (娉ㄦ槑锛歭ist绛変簬 '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); } @@ -211,8 +253,24 @@ 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); + } + + // OPPO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + oPPOPushService.pushZNX(uId, title, content, versionCodeList); + } + + // VIVO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + vIVOPushService.pushZNX(uId, title, content, versionCodeList); } } @@ -221,7 +279,7 @@ pushRecord.setUid(uId); pushRecord.setTitle(title); pushRecord.setState(1); // 鎴愬姛 - pushRecord.setType(PushController.ZNX); // 绫诲瀷锛氱珯鍐呬俊 + pushRecord.setType(PushTypeEnum.ZNX.getCode()); // 绫诲瀷锛氱珯鍐呬俊 pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName()); pushRecord.setCreatetime(java.lang.System.currentTimeMillis()); pushRecordMapper.insertSelective(pushRecord); @@ -229,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)) @@ -240,7 +298,7 @@ /* IOS绔帹閫� (娉ㄦ槑锛歭ist绛変簬 '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); } @@ -249,7 +307,7 @@ /* Android绔帹閫� (娉ㄦ槑锛歭ist绛変簬 '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); } @@ -259,8 +317,24 @@ 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); + } + + // OPPO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + oPPOPushService.pushWEEX(uid, title, content, weexUrl, versionCodeList); + } + + // VIVO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + vIVOPushService.pushWEEX(uid, title, content, weexUrl, versionCodeList); } // 鎻掑叆鎺ㄩ�佽褰� @@ -268,7 +342,7 @@ pushRecord.setTitle(title); pushRecord.setUid(uid); pushRecord.setState(1); // 鎴愬姛 - pushRecord.setType(PushController.WEEX); // 绫诲瀷锛歐EEX + pushRecord.setType(PushTypeEnum.weex.getCode()); // 绫诲瀷锛歐EEX pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName()); pushRecord.setCreatetime(java.lang.System.currentTimeMillis()); pushRecordMapper.insertSelective(pushRecord); @@ -276,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, "鏃犳帹閫佹爣棰�"); @@ -288,7 +362,7 @@ /* IOS绔帹閫� (娉ㄦ槑锛歭ist绛変簬 '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); } @@ -297,7 +371,7 @@ /* Android绔帹閫� (娉ㄦ槑锛歭ist绛変簬 '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); } @@ -307,8 +381,24 @@ 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); + } + + // OPPO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + oPPOPushService.pushBaiChuanUrl(uid, title, content, url, versionCodeList); + } + + // VIVO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + vIVOPushService.pushBaiChuanUrl(uid, title, content, url, versionCodeList); } // 鎻掑叆鎺ㄩ�佽褰� @@ -317,7 +407,7 @@ pushRecord.setTitle(title); pushRecord.setUid(uid); pushRecord.setState(1); // 鎴愬姛 - pushRecord.setType(PushController.BAICHUAN); // 绫诲瀷锛氱櫨宸� + pushRecord.setType(PushTypeEnum.baichuan.getCode()); // 绫诲瀷锛氱櫨宸� pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName()); pushRecord.setCreatetime(java.lang.System.currentTimeMillis()); pushRecordMapper.insertSelective(pushRecord); @@ -325,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, "鏃犳帹閫佹爣棰�"); @@ -335,7 +425,7 @@ /* IOS绔帹閫� (娉ㄦ槑锛歭ist绛変簬 '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); } @@ -344,7 +434,7 @@ /* Android绔帹閫� (娉ㄦ槑锛歭ist绛変簬 '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); } @@ -354,8 +444,24 @@ 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); + } + + // OPPO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + oPPOPushService.pushWelfareCenter(uid, title, content, versionCodeList); + } + + // VIVO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + vIVOPushService.pushWelfareCenter(uid, title, content, versionCodeList); } // 鎻掑叆鎺ㄩ�佽褰� @@ -363,7 +469,7 @@ pushRecord.setTitle(title); pushRecord.setUid(uid); pushRecord.setState(1); // 鎴愬姛 - pushRecord.setType(PushController.WELFARE_CENTER); // 绫诲瀷锛氱櫨宸� + pushRecord.setType(PushTypeEnum.welfare.getCode()); // 绫诲瀷锛氱櫨宸� pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName()); pushRecord.setCreatetime(java.lang.System.currentTimeMillis()); pushRecordMapper.insertSelective(pushRecord); @@ -372,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; @@ -384,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(); @@ -412,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; @@ -424,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(); @@ -449,4 +553,65 @@ return versionCodes; } + @Override + public void pushUserSignInNotification(Long uid, String title, String content, List<String> listIOS, + List<String> listAndroid,SystemEnum system) throws PushException { + if (StringUtil.isNullOrEmpty(title)) + throw new PushException(1, "鏃犳帹閫佹爣棰�"); + if (StringUtil.isNullOrEmpty(content)) + throw new PushException(1, "鏃犳帹閫佸唴瀹�"); + + /* IOS绔帹閫� (娉ㄦ槑锛歭ist绛変簬 'null' 鏃跺叏鎺紝 size绛変簬0 涓嶅仛鎺ㄩ��) */ + if (listIOS == null || listIOS.size() > 0) { + // 闄愬埗鎺ㄩ�佺増鏈彿锛�1.6.5浠ュ悗 + 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); + } + } + + /* Android绔帹閫� (娉ㄦ槑锛歭ist绛変簬 'null' 鏃跺叏鎺紝 size绛変簬0 涓嶅仛鎺ㄩ��) */ + if (listAndroid == null || listAndroid.size() > 0) { + // 闄愬埗鎺ㄩ�佺増鏈彿锛�1.6.5浠ュ悗 + 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); + } + } + + // 鍗庝负鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + hwPushService.pushUserSignInNotification(uid, title, content, versionCodeList); + } + + // OPPO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + oPPOPushService.pushUserSignInNotification(uid, title, content, versionCodeList); + } + + // VIVO鎺ㄩ�� + if (listAndroid == null || listAndroid.size() > 0) { + List<Integer> versionCodeList = null; + if (listAndroid != null) + versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid,system); + vIVOPushService.pushUserSignInNotification(uid, title, content, versionCodeList); + } + + // 鎻掑叆鎺ㄩ�佽褰� + PushRecord pushRecord = new PushRecord(); + pushRecord.setTitle(title); + pushRecord.setUid(uid); + pushRecord.setState(1); // 鎴愬姛 + pushRecord.setType(PushTypeEnum.signin.getCode()); // 绫诲瀷锛氱櫨宸� + pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName()); + pushRecord.setCreatetime(java.lang.System.currentTimeMillis()); + pushRecordMapper.insertSelective(pushRecord); + } + } -- Gitblit v1.8.0