From 207ae7df18d601d839d945d32c5519f95b959a92 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 28 十二月 2019 11:28:49 +0800
Subject: [PATCH] 文章
---
fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java | 263 ++++++++++++++++++----------------------------------
1 files changed, 91 insertions(+), 172 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 67c3a1b..0e1700b 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,20 +1,15 @@
package com.yeshi.fanli.service.impl.push;
-import java.util.List;
-
-import javax.annotation.Resource;
-
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
-import com.yeshi.fanli.dao.mybatis.AppVersionInfoMapper;
-import com.yeshi.fanli.entity.AppVersionInfo;
+import com.yeshi.fanli.dto.push.PushTypeEnum;
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.exception.push.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;
@@ -24,39 +19,24 @@
@Service
public class XMPushServiceImpl implements XMPushService {
- @Resource
- private AppVersionInfoMapper appVersionInfoMapper;
-
- @Resource
- private AppVersionService appVersionService;
-
+ @Async("pushExecutor")
@Override
- 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);
- if (appVersion == null || appVersion.trim().length() ==0) {
- throw new PushException(1, "灏忕背鎺ㄩ�佸け璐ワ紝鎺ㄩ�佺殑鐗堟湰杩囦綆锛�");
- }
- } else if (minVersionCode > 0) {
- appVersion = getVersionByMinVersionCode(minVersionCode);
- }
+ public void pushGoods(Long uid, Long auctionId, String title, String content, String versions)
+ throws PushException {
String gid = auctionId + "";
JSONObject json = new JSONObject();
// json.put("url", "http://item.taobao.com/item.htm?id=" + gid);// IOS浣跨敤
json.put("id", gid);
- json.put("type", "goodsdetail");
+ json.put("type", PushTypeEnum.goodsdetail.name());
json.put("miPushUrl", String.format("%s.ui.recommend.GoodsBrowserActivity",
Constant.systemCommonConfig.getAndroidBaseactivityName()));
+
// 鐗堟湰鎺ㄩ��
- if (appVersion != null && appVersion.trim().length() > 0) {
- json.put("app_version", appVersion);
+ if (versions != null && versions.trim().length() > 0) {
+ json.put("app_version", versions);
}
-
+
MessageInfo info = new MessageInfo();
info.setTitle(title);
info.setContent(content);
@@ -80,30 +60,20 @@
}
}
+ @Async("pushExecutor")
@Override
- 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);
- if (appVersion == null || appVersion.trim().length() ==0) {
- throw new PushException(1, "灏忕背鎺ㄩ�佸け璐ワ紝鎺ㄩ�佺殑鐗堟湰杩囦綆锛�");
- }
- } else if (minVersionCode > 0) {
- appVersion = getVersionByMinVersionCode(minVersionCode);
- }
-
+ public void pushUrl(Long uid, String url, String title, String content, String versions) throws PushException {
+
JSONObject json = new JSONObject();
json.put("url", url);
- json.put("type", "url");
+ json.put("type", PushTypeEnum.url.name());
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);
+ if (versions != null && versions.trim().length() > 0) {
+ json.put("app_version", versions);
}
MessageInfo info = new MessageInfo();
@@ -128,24 +98,12 @@
info.setAlias(uid + "");
PushUtils.singlePushXiaoMi(info, json, pushRecord);
}
-
}
+ @Async("pushExecutor")
@Override
- 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);
- if (appVersion == null || appVersion.trim().length() == 0) {
- throw new PushException(1, "灏忕背鎺ㄩ�佸け璐ワ紝鎺ㄩ�佺殑鐗堟湰杩囦綆锛�");
- }
- } else if (minVersionCode > 0) {
- appVersion = getVersionByMinVersionCode(minVersionCode);
- }
-
+ public void pushZNX(Long uId, AccountMessage msg, SystemZnx systemZNX, String versions) throws PushException {
+
MessageInfo info = new MessageInfo();
info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName());
@@ -165,15 +123,16 @@
contentJson.put("id", id);
JSONObject json = new JSONObject();
- json.put("type", "ZNX");
+ json.put("type", PushTypeEnum.ZNX.name());
json.put("content", contentJson);
- json.put("miPushUrl", String.format("%s.ui.mine.AppMailDetailActivity",
- Constant.systemCommonConfig.getAndroidBaseactivityName()));
+ json.put("miPushUrl",
+ String.format("%s.ui.main.MainActivity", Constant.systemCommonConfig.getAndroidBaseactivityName()));
+
// 鐗堟湰鎺ㄩ��
- if (appVersion != null && appVersion.trim().length() > 0) {
- json.put("app_version", appVersion);
+ if (versions != null && versions.trim().length() > 0) {
+ json.put("app_version", versions);
}
-
+
PushRecord pushRecord = new PushRecord();
// 灏忕背 鍏ㄦ帹
@@ -198,16 +157,16 @@
contentJson.put("id", msg.getId() + "");
JSONObject json = new JSONObject();
- json.put("type", "ZNX");
+ json.put("type", PushTypeEnum.ZNX.name());
json.put("content", contentJson);
- json.put("miPushUrl", String.format("%s.ui.mine.AppMailDetailActivity",
- Constant.systemCommonConfig.getAndroidBaseactivityName()));
-
+ json.put("miPushUrl",
+ String.format("%s.ui.main.MainActivity", Constant.systemCommonConfig.getAndroidBaseactivityName()));
+
// 鐗堟湰鎺ㄩ��
- if (appVersion != null && appVersion.trim().length() > 0) {
- json.put("app_version", appVersion);
+ if (versions != null && versions.trim().length() > 0) {
+ json.put("app_version", versions);
}
-
+
// 灏忕背 鍗曟帹
try {
PushUtils.singlePushXiaoMi(info, json, pushRecord);
@@ -217,29 +176,19 @@
}
}
+ @Async("pushExecutor")
@Override
- public void pushWEEX(Long uid, String title, String content, String weexUrl, List<String> listVersion) throws PushException {
+ public void pushWEEX(Long uid, String title, String content, String weexUrl, String versions) throws PushException {
- // 璁剧疆鍙帹閫佺増鏈�,1.4.8浠ュ悗鐨勭増鏈彲鎺ㄩ��
- int minVersionCode = 31;
- String appVersion = null;
- if (listVersion != null && listVersion.size() > 0) {
- appVersion = getCanPushVersions(minVersionCode, listVersion);
- if (appVersion == null || appVersion.trim().length() == 0) {
- throw new PushException(1, "灏忕背鎺ㄩ�佸け璐ワ紝鎺ㄩ�佺殑鐗堟湰涓嶈兘浣庝簬1.4.8");
- }
- } else if (minVersionCode > 0) {
- appVersion = getVersionByMinVersionCode(minVersionCode);
- }
-
JSONObject json = new JSONObject();
json.put("url", weexUrl);
- json.put("type", "weex");
+ json.put("type", PushTypeEnum.weex.name());
+
// 鐗堟湰鎺ㄩ��
- if (appVersion != null && appVersion.trim().length() > 0) {
- json.put("app_version", appVersion);
+ if (versions != null && versions.trim().length() > 0) {
+ json.put("app_version", versions);
}
-
+
MessageInfo info = new MessageInfo();
info.setTitle(title);
info.setContent(content);
@@ -264,71 +213,17 @@
}
}
- 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) throws PushException{
- 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() + ",";
- }
- }
- } else {
- throw new PushException(1, "鎺ㄩ�佺殑鐗堟湰涓嶅瓨鍦紝璇锋牳瀹炵増鏈俊鎭�");
- }
-
- if (versions.endsWith(",")) {
- versions = versions.substring(0, versions.length() - 1);
- }
-
- return versions;
- }
-
+ @Async("pushExecutor")
@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);
- if (appVersion == null || appVersion.trim().length() ==0) {
- throw new PushException(1, "灏忕背鎺ㄩ�佸け璐ワ紝鎺ㄩ�佺殑鐗堟湰涓嶈兘浣庝簬1.4.8");
- }
-
- } else if (minVersionCode > 0){
- appVersion = getVersionByMinVersionCode(minVersionCode);
- }
-
+ public void pushBaiChuanUrl(Long uid, String title, String content, String url, String versions)
+ throws PushException {
+
JSONObject json = new JSONObject();
json.put("url", url);
- json.put("type", "baichuan");
+ json.put("type", PushTypeEnum.baichuan.name());
// 鐗堟湰鎺ㄩ��
- if (appVersion != null && appVersion.trim().length() > 0) {
- json.put("app_version", appVersion);
+ if (versions != null && versions.trim().length() > 0) {
+ json.put("app_version", versions);
}
MessageInfo info = new MessageInfo();
@@ -351,31 +246,19 @@
info.setAlias(uid + "");
PushUtils.singlePushXiaoMi(info, json, pushRecord);
}
-
}
+ @Async("pushExecutor")
@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);
- if (appVersion == null || appVersion.trim().length() ==0) {
- throw new PushException(1, "灏忕背鎺ㄩ�佸け璐ワ紝鎺ㄩ�佺殑鐗堟湰涓嶈兘浣庝簬1.5.1");
- }
- } else if (minVersionCode > 0){
- appVersion = getVersionByMinVersionCode(minVersionCode);
- }
-
+ public void pushWelfareCenter(Long uid, String title, String content, String versions) throws PushException {
+
JSONObject json = new JSONObject();
- json.put("type", "welfare");
+ json.put("type", PushTypeEnum.welfare.name());
json.put("miPushUrl", String.format("%s.ui.mine.WelfareCenterActivity",
Constant.systemCommonConfig.getAndroidBaseactivityName()));
// 鐗堟湰鎺ㄩ��
- if (appVersion != null && appVersion.trim().length() > 0) {
- json.put("app_version", appVersion);
+ if (versions != null && versions.trim().length() > 0) {
+ json.put("app_version", versions);
}
MessageInfo info = new MessageInfo();
@@ -402,4 +285,40 @@
}
}
+ @Override
+ public void pushUserSignInNotification(Long uid, String title, String content, String versions)
+ throws PushException {
+ JSONObject json = new JSONObject();
+ json.put("type", PushTypeEnum.signin.name());
+ json.put("miPushUrl", String.format("%s.ui.goldtask.GoldTaskActivity",
+ Constant.systemCommonConfig.getAndroidBaseactivityName()));
+ // 鐗堟湰鎺ㄩ��
+ if (versions != null && versions.trim().length() > 0) {
+ json.put("app_version", versions);
+ }
+
+ MessageInfo info = new MessageInfo();
+ info.setTitle(title);
+ info.setContent(content);
+ info.setDescription(content);
+ // 灏忕背鎺ㄩ�佺綉椤�
+ info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName());
+ info.setActivty(String.format("%s.ui.goldtask.GoldTaskActivity",
+ 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