From d28bed1a1275131a5ca37f7da37961e2b518ac07 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 26 八月 2019 13:44:00 +0800
Subject: [PATCH] 淘礼金创建异常处理

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java |  185 +++++++++++-----------------------------------
 1 files changed, 44 insertions(+), 141 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 e44614e..b774784 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,14 @@
 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.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;
@@ -24,23 +18,10 @@
 @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);
-		} 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();
@@ -49,11 +30,12 @@
 		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);
+		if (versions != null && versions.trim().length() > 0) {
+			json.put("app_version", versions);
 		}
-		
+
 		MessageInfo info = new MessageInfo();
 		info.setTitle(title);
 		info.setContent(content);
@@ -77,27 +59,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);
-		} 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("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();
@@ -122,21 +97,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);
-		} 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());
 
@@ -158,13 +124,14 @@
 			JSONObject json = new JSONObject();
 			json.put("type", "ZNX");
 			json.put("content", contentJson);
-			json.put("miPushUrl", String.format("%s.ui.mine.AppMailDetailActivity",
+			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();
 
 			// 灏忕背 鍏ㄦ帹
@@ -191,14 +158,14 @@
 			JSONObject json = new JSONObject();
 			json.put("type", "ZNX");
 			json.put("content", contentJson);
-			json.put("miPushUrl", String.format("%s.ui.mine.AppMailDetailActivity",
+			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);
@@ -208,26 +175,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);
-		} 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);
+		if (versions != null && versions.trim().length() > 0) {
+			json.put("app_version", versions);
 		}
-		
+
 		MessageInfo info = new MessageInfo();
 		info.setTitle(title);
 		info.setContent(content);
@@ -252,65 +212,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) {
-		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;
-	}
-
+	@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);
-		} 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");
 		// 鐗堟湰鎺ㄩ��
-		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();
@@ -333,28 +245,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);
-		} 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("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();

--
Gitblit v1.8.0