From e3732fa01883aa7a93f7398e39b01b0009155b06 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期四, 14 三月 2019 09:46:36 +0800 Subject: [PATCH] 等级代码调整 --- fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java | 251 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 239 insertions(+), 12 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java index 068c769..e44614e 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java @@ -1,13 +1,20 @@ package com.yeshi.fanli.service.impl.push; +import java.util.List; + +import javax.annotation.Resource; + import org.springframework.stereotype.Service; +import com.yeshi.fanli.dao.mybatis.AppVersionInfoMapper; +import com.yeshi.fanli.entity.AppVersionInfo; import com.yeshi.fanli.entity.bus.user.AccountMessage; import com.yeshi.fanli.entity.system.SystemZnx; import com.yeshi.fanli.entity.xinge.MessageInfo; import com.yeshi.fanli.entity.xinge.PushRecord; import com.yeshi.fanli.exception.PushException; import com.yeshi.fanli.log.PushLogHelper; +import com.yeshi.fanli.service.inter.config.AppVersionService; import com.yeshi.fanli.service.inter.push.XMPushService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.push.PushUtils; @@ -17,8 +24,24 @@ @Service public class XMPushServiceImpl implements XMPushService { + @Resource + private AppVersionInfoMapper appVersionInfoMapper; + + @Resource + private AppVersionService appVersionService; + @Override - public void pushGoods(Long uid, Long auctionId, String title, String content) throws PushException { + public void pushGoods(Long uid, Long auctionId, String title, String content, List<String> listVersion) throws PushException { + + // 鏃犳渶浣庣増鏈檺鍒� + int minVersionCode = 0; + String appVersion = null; + if (listVersion != null && listVersion.size() > 0) { + appVersion = getCanPushVersions(minVersionCode, listVersion); + } else if (minVersionCode > 0) { + appVersion = getVersionByMinVersionCode(minVersionCode); + } + String gid = auctionId + ""; JSONObject json = new JSONObject(); // json.put("url", "http://item.taobao.com/item.htm?id=" + gid);// IOS浣跨敤 @@ -26,7 +49,11 @@ json.put("type", "goodsdetail"); json.put("miPushUrl", String.format("%s.ui.recommend.GoodsBrowserActivity", Constant.systemCommonConfig.getAndroidBaseactivityName())); - + // 鐗堟湰鎺ㄩ�� + if (appVersion != null && appVersion.trim().length() > 0) { + json.put("app_version", appVersion); + } + MessageInfo info = new MessageInfo(); info.setTitle(title); info.setContent(content); @@ -51,13 +78,27 @@ } @Override - public void pushUrl(Long uid, String url, String title, String content) throws PushException { + public void pushUrl(Long uid, String url, String title, String content, List<String> listVersion) throws PushException { + // 鏃犳渶浣庣増鏈檺鍒� + int minVersionCode = 0; + String appVersion = null; + if (listVersion != null && listVersion.size() > 0) { + appVersion = getCanPushVersions(minVersionCode, listVersion); + } else if (minVersionCode > 0) { + appVersion = getVersionByMinVersionCode(minVersionCode); + } + JSONObject json = new JSONObject(); json.put("url", url); json.put("type", "url"); json.put("webUrl", url); json.put("miPushUrl", String.format("%s.ui.invite.ShareBrowserActivity", Constant.systemCommonConfig.getAndroidBaseactivityName())); + + // 鐗堟湰鎺ㄩ�� + if (appVersion != null && appVersion.trim().length() > 0) { + json.put("app_version", appVersion); + } MessageInfo info = new MessageInfo(); info.setTitle(title); @@ -85,18 +126,21 @@ } @Override - public void pushWEEXUrl(Long uid, String weexUrl, String title, String content) throws PushException { - - } - - @Override - public void pushZNX(Long uId, AccountMessage msg, SystemZnx systemZNX) throws PushException { + public void pushZNX(Long uId, AccountMessage msg, SystemZnx systemZNX, List<String> listVersion) throws PushException { + + // 鏃犳渶浣庣増鏈檺鍒� + int minVersionCode = 0; + String appVersion = null; + if (listVersion != null && listVersion.size() > 0) { + appVersion = getCanPushVersions(minVersionCode, listVersion); + } else if (minVersionCode > 0) { + appVersion = getVersionByMinVersionCode(minVersionCode); + } + MessageInfo info = new MessageInfo(); - info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName()); JSONObject contentJson = new JSONObject(); - contentJson.put("isOpen", 0); contentJson.put("createTime", java.lang.System.currentTimeMillis()); @@ -116,7 +160,11 @@ json.put("content", contentJson); json.put("miPushUrl", String.format("%s.ui.mine.AppMailDetailActivity", Constant.systemCommonConfig.getAndroidBaseactivityName())); - + // 鐗堟湰鎺ㄩ�� + if (appVersion != null && appVersion.trim().length() > 0) { + json.put("app_version", appVersion); + } + PushRecord pushRecord = new PushRecord(); // 灏忕背 鍏ㄦ帹 @@ -145,6 +193,12 @@ json.put("content", contentJson); json.put("miPushUrl", String.format("%s.ui.mine.AppMailDetailActivity", Constant.systemCommonConfig.getAndroidBaseactivityName())); + + // 鐗堟湰鎺ㄩ�� + if (appVersion != null && appVersion.trim().length() > 0) { + json.put("app_version", appVersion); + } + // 灏忕背 鍗曟帹 try { PushUtils.singlePushXiaoMi(info, json, pushRecord); @@ -154,4 +208,177 @@ } } + @Override + public void pushWEEX(Long uid, String title, String content, String weexUrl, List<String> listVersion) throws PushException { + + // 璁剧疆鍙帹閫佺増鏈�,1.4.8浠ュ悗鐨勭増鏈彲鎺ㄩ�� + int minVersionCode = 31; + String appVersion = null; + if (listVersion != null && listVersion.size() > 0) { + appVersion = getCanPushVersions(minVersionCode, listVersion); + } else if (minVersionCode > 0) { + appVersion = getVersionByMinVersionCode(minVersionCode); + } + + JSONObject json = new JSONObject(); + json.put("url", weexUrl); + json.put("type", "weex"); + // 鐗堟湰鎺ㄩ�� + if (appVersion != null && appVersion.trim().length() > 0) { + json.put("app_version", appVersion); + } + + MessageInfo info = new MessageInfo(); + info.setTitle(title); + info.setContent(content); + info.setDescription(content); + // 灏忕背鎺ㄩ�佺綉椤� + info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName()); + info.setActivty(String.format("%s.ui.mine.weex.WeexApplicationActivity", + Constant.systemCommonConfig.getAndroidBaseactivityName())); + + PushRecord pushRecord = new PushRecord(); + + // 灏忕背 鍏ㄦ帹 + if (uid == null || uid == 0) { + try { + PushUtils.allPushXiaoMi(info, json, pushRecord); + } catch (Exception e) { + PushLogHelper.xmError(e); + } + } else { + info.setAlias(uid + ""); + PushUtils.singlePushXiaoMi(info, json, pushRecord); + } + } + + private String getVersionByMinVersionCode(int versionCode) { + List<AppVersionInfo> list = appVersionInfoMapper + .listByPlatformAndMinVersionCode(AppVersionInfo.PLATFORM_ANDROID, versionCode); + String versions = ""; + if (list != null) + for (AppVersionInfo appVersion : list) { + versions += appVersion.getVersion() + ","; + + } + if (versions.endsWith(",")) + versions = versions.substring(0, versions.length() - 1); + + return versions; + } + + /** + * 鏌ヨ鑳芥帹閫佺増鏈彿 + * @param versionCode + * @param listVersion + * @return + */ + private String getCanPushVersions(int versionCode, List<String> listVersion) { + List<AppVersionInfo> list = appVersionService.listByVersions(AppVersionInfo.PLATFORM_ANDROID, listVersion); + String versions = ""; + + if (list != null) { + for (AppVersionInfo appVersion : list) { + Integer code = appVersion.getVersionCode(); + if (code != null && code >= versionCode) { + versions += appVersion.getVersion() + ","; + } + } + } + + if (versions.endsWith(",")) { + versions = versions.substring(0, versions.length() - 1); + } + + return versions; + } + + @Override + public void pushBaiChuanUrl(Long uid, String title, String content, String url, List<String> listVersion) throws PushException { + + // 璁剧疆鍙帹閫佺増鏈�,1.4.8浠ュ悗鐨勭増鏈彲鎺ㄩ�� + int minVersionCode = 31; + String appVersion = null; + if (listVersion != null && listVersion.size() > 0) { + appVersion = getCanPushVersions(minVersionCode, listVersion); + } else if (minVersionCode > 0){ + appVersion = getVersionByMinVersionCode(minVersionCode); + } + + JSONObject json = new JSONObject(); + json.put("url", url); + json.put("type", "baichuan"); + // 鐗堟湰鎺ㄩ�� + if (appVersion != null && appVersion.trim().length() > 0) { + json.put("app_version", appVersion); + } + + MessageInfo info = new MessageInfo(); + info.setTitle(title); + info.setContent(content); + info.setDescription(content); + // 灏忕背鎺ㄩ�佺綉椤� + info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName()); + + PushRecord pushRecord = new PushRecord(); + + // 灏忕背 鍏ㄦ帹 + if (uid == null || uid == 0) { + try { + PushUtils.allPushXiaoMi(info, json, pushRecord); + } catch (Exception e) { + PushLogHelper.xmError(e); + } + } else { + info.setAlias(uid + ""); + PushUtils.singlePushXiaoMi(info, json, pushRecord); + } + + } + + @Override + public void pushWelfareCenter(Long uid, String title, String content, List<String> listVersion) throws PushException { + + // 1.5.1涔嬪悗鐨勭増鏈彲鎺ㄩ�� + int minVersionCode = 36; + String appVersion = null; + if (listVersion != null && listVersion.size() > 0) { + appVersion = getCanPushVersions(minVersionCode, listVersion); + } else if (minVersionCode > 0){ + appVersion = getVersionByMinVersionCode(minVersionCode); + } + + JSONObject json = new JSONObject(); + json.put("type", "welfare"); + json.put("miPushUrl", String.format("%s.ui.mine.WelfareCenterActivity", + Constant.systemCommonConfig.getAndroidBaseactivityName())); + // 鐗堟湰鎺ㄩ�� + if (appVersion != null && appVersion.trim().length() > 0) { + json.put("app_version", appVersion); + } + + MessageInfo info = new MessageInfo(); + info.setTitle(title); + info.setContent(content); + info.setDescription(content); + // 灏忕背鎺ㄩ�佺綉椤� + info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName()); + info.setActivty(String.format("%s.ui.mine.WelfareCenterActivity", + Constant.systemCommonConfig.getAndroidBaseactivityName())); + + PushRecord pushRecord = new PushRecord(); + + // 灏忕背 鍏ㄦ帹 + if (uid == null || uid == 0) { + try { + PushUtils.allPushXiaoMi(info, json, pushRecord); + } catch (Exception e) { + PushLogHelper.xmError(e); + } + } else { + info.setAlias(uid + ""); + PushUtils.singlePushXiaoMi(info, json, pushRecord); + } + } + } -- Gitblit v1.8.0