From b3d001c65da02bdc83e92308cd23ed1525c98070 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 19 三月 2019 17:29:05 +0800
Subject: [PATCH] 删除 RecommendSectionGoods相关+推送版本调整

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/push/IOSPushServiceImpl.java |  136 ++++++++++++++++++---------------------------
 1 files changed, 54 insertions(+), 82 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/IOSPushServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/IOSPushServiceImpl.java
index 648d0c5..42cec89 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/IOSPushServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/IOSPushServiceImpl.java
@@ -8,13 +8,13 @@
 
 import javax.annotation.Resource;
 
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.yeshi.fanli.controller.admin.PushController;
 import com.yeshi.fanli.dao.mybatis.push.DeviceTokenIOSMapper;
 import com.yeshi.fanli.dao.mybatis.push.PushQueueRecordMapper;
-import com.yeshi.fanli.entity.AppVersionInfo;
 import com.yeshi.fanli.entity.bus.user.AccountMessage;
 import com.yeshi.fanli.entity.push.DeviceTokenIOS;
 import com.yeshi.fanli.entity.push.PushQueueRecord;
@@ -23,7 +23,6 @@
 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.IOSPushService;
 import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
 import com.yeshi.fanli.util.CMQManager;
@@ -44,13 +43,10 @@
 
 	@Resource
 	private UserCustomSettingsService userCustomSettingsService;
-	
-	@Resource
-	private AppVersionService appVersionService;
-	
 
+	@Async("pushExecutor")
 	@Override
-	public void pushGoods(Long uid, Long auctionId, String title, String content, List<String> listVersion) throws PushException {
+	public void pushGoods(Long uid, Long auctionId, String title, String content, String versionCodes) throws PushException {
 
 		String url = "https://item.taobao.com/item.htm?id=" + auctionId;
 		JSONObject json = new JSONObject();
@@ -76,7 +72,7 @@
 
 		if (uid == null || uid == 0) {
 
-			addPushIOSQueue(info, url, PushController.GOODS, listVersion);
+			addPushIOSQueue(info, url, PushController.GOODS, versionCodes);
 
 			/*
 			 * // 鏌ヨIOS鎵�鏈夎澶囧彿 // TODO 闇�瑕佸叏鎺� List<String> deviceTokenList =
@@ -94,9 +90,10 @@
 			if (!validateNotDisturbSingle(uid)) {
 				return; // 閫氱煡鍏嶆墦鎵�(20:00-24:00 / 00:00 -08:00)
 			}
-
+			
 			// IOS 鍗曟帹
-			List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, listVersion);
+			List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, versionCodes);
+			
 			List<String> deviceTokenList = new ArrayList<>();
 			if (deviceTokenIosList != null)
 				for (DeviceTokenIOS ios : deviceTokenIosList) {
@@ -112,8 +109,9 @@
 		}
 	}
 
+	@Async("pushExecutor")
 	@Override
-	public void pushUrl(Long uid, String url, String title, String content, List<String> listVersion) throws PushException {
+	public void pushUrl(Long uid, String url, String title, String content, String versionCodes) throws PushException {
 		JSONObject json = new JSONObject();
 		json.put("url", url);
 		json.put("type", "url");
@@ -135,7 +133,7 @@
 		if (uid == null || uid == 0) {
 			// TODO 闇�瑕佸叏鎺�
 
-			addPushIOSQueue(info, url, PushController.URL, listVersion);
+			addPushIOSQueue(info, url, PushController.URL, versionCodes);
 
 			/*
 			 * List<String> deviceTokenList = getDeviceTokenList(1, 1000);
@@ -153,7 +151,7 @@
 				return; // 閫氱煡鍏嶆墦鎵�(20:00-24:00 / 00:00 -08:00)
 			}
 
-			List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, listVersion);
+			List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, versionCodes);
 			List<String> deviceTokenList = new ArrayList<>();
 			if (deviceTokenIosList != null)
 				for (DeviceTokenIOS ios : deviceTokenIosList) {
@@ -167,8 +165,10 @@
 		}
 	}
 
+	
+	@Async("pushExecutor")
 	@Override
-	public void pushZNX(Long uId, AccountMessage msg, SystemZnx systemZNX, List<String> listVersion) throws PushException {
+	public void pushZNX(Long uId, AccountMessage msg, SystemZnx systemZNX, String versionCodes) throws PushException {
 		MessageInfo info = new MessageInfo();
 		info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName());
 
@@ -198,7 +198,7 @@
 
 			// TODO 闇�瑕佸叏鎺�
 
-			addPushIOSQueue(info, id + "", PushController.ZNX, listVersion);
+			addPushIOSQueue(info, id + "", PushController.ZNX, versionCodes);
 
 			/*
 			 * List<String> deviceTokenList = getDeviceTokenList(1, 1000);
@@ -241,7 +241,7 @@
 			json.put("miPushUrl", String.format("%s.ui.mine.AppMailDetailActivity",
 					Constant.systemCommonConfig.getAndroidBaseactivityName()));
 
-			List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(msg.getUserInfo().getId(), listVersion);
+			List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(msg.getUserInfo().getId(), versionCodes);
 			List<String> deviceTokenList = new ArrayList<>();
 			if (deviceTokenIosList != null)
 				for (DeviceTokenIOS ios : deviceTokenIosList) {
@@ -289,17 +289,8 @@
 	}
 
 	@Override
-	public List<DeviceTokenIOS> getDeviceTokenListByUid(Long uid, List<String> listVersion) throws PushException {
-		List<Integer> listCode = null;
-		if (listVersion != null && listVersion.size() > 0) {
-			// 鐗堟湰鍙锋帹閫侀檺鍒�	
-			listCode = appVersionService.listVersionCodeByVersions(AppVersionInfo.PLATFORM_IOS,listVersion);
-			if (listCode == null || listCode.size() == 0) {
-				throw new PushException(1, "IOS鎺ㄩ�佸け璐ワ紝鎺ㄩ�佺増鏈笉瀛樺湪锛�");
-			}
-		}
-		
-		return deviceTokenIOSMapper.selectByUid(uid, listCode);
+	public List<DeviceTokenIOS> getDeviceTokenListByUid(Long uid, String versionCodes) throws PushException {
+		return deviceTokenIOSMapper.selectByUid(uid, convertVersionType(versionCodes));
 	}
 
 	@Override
@@ -336,7 +327,7 @@
 	 * @param json
 	 */
 	@Transactional
-	public void addPushIOSQueue(MessageInfo info, String url, int type, List<String> listVersion) throws PushException {
+	public void addPushIOSQueue(MessageInfo info, String url, int type, String versionCodes) throws PushException {
 
 		try {
 
@@ -350,30 +341,6 @@
 
 			// 姣忔鎵ц鏉$洰
 			int pushNum = 50;
-
-			String versionCodes = "";
-			
-			if (listVersion != null && listVersion.size() > 0) {
-				// 鍔犲叆鐗堟湰鎺ㄩ�侀檺鍒�
-				List<Integer> listCode = appVersionService.listVersionCodeByVersions(AppVersionInfo.PLATFORM_IOS,listVersion);
-				
-				if (listCode != null && listCode.size() > 0) {
-					for (Integer code: listCode) {
-						versionCodes = versionCodes + code + ",";
-					}
-					
-					// 鍘婚櫎鏈熬閫楀彿
-					if (versionCodes.endsWith(",")) {
-						versionCodes = versionCodes.substring(0, versionCodes.length() - 1);
-					}
-				}
-				
-				if (versionCodes == null || versionCodes.trim().length() == 0) {
-					throw new PushException(1, "IOS鎺ㄩ�佸け璐ワ紝鎺ㄩ�佺増鏈笉瀛樺湪锛�");
-				}
-				
-			}
-			
 			
 			for (long i = 0; i < tokenCount + totalCount;) {
 
@@ -449,23 +416,7 @@
 		
 		// 鎺ㄩ�佺殑鐗堟湰鍙�
 		String versions = pushQueueRecord.getVersions();
-		List<Integer> listVersionCode = null;
-		if (versions != null && versions.trim().length() > 0) {
-			
-			List<String> listVersion  = Arrays.asList(versions.split(","));
-			if (listVersion != null && listVersion.size() > 0) {
-				listVersionCode = new ArrayList<Integer>();
-				for (String version: listVersion) {
-					if (version != null && version.trim().length() > 0) {
-						listVersionCode.add(Integer.parseInt(version));
-					}
-				}
-			}
-			
-			if (listVersionCode == null || listVersionCode.size() == 0) {
-				return; //鐗堟湰鍙峰瓨鍦ㄥ紓甯�
-			}
-		}
+		List<Integer> listCode = convertVersionType(versions);
 				
 		
 		int total = (int) (endCursor - startCursor);
@@ -483,11 +434,10 @@
 
 		for (int i = 0; i < count; i++) {
 			
-			
 			// 涓嶈冻50涓暟鎹�
 			if (moveNum > total) {
 				moveNum = (int) (endCursor - startCursor);
-				List<DeviceTokenIOS> list = deviceTokenIOSMapper.selectList(startCursor, moveNum, listVersionCode);
+				List<DeviceTokenIOS> list = deviceTokenIOSMapper.selectList(startCursor, moveNum, listCode);
 				recordCursor = endCursor;
 
 				if (list != null) {
@@ -501,7 +451,7 @@
 					// System.out.println("recordCursorend:" +recordCursor);
 					moveNum = (int) (endCursor - recordCursor);
 					// System.out.println(moveNum);
-					List<DeviceTokenIOS> list = deviceTokenIOSMapper.selectList(recordCursor, moveNum, listVersionCode);
+					List<DeviceTokenIOS> list = deviceTokenIOSMapper.selectList(recordCursor, moveNum, listCode);
 					if (list != null) {
 						executePushIOS(list, pushQueueRecord, endCursor);
 						PushLogHelper.iosInfo("鎺ㄩ�佹父鏍�:" + recordCursor + "锛�" + moveNum);
@@ -509,7 +459,7 @@
 					recordCursor = endCursor;
 
 				} else {
-					List<DeviceTokenIOS> list = deviceTokenIOSMapper.selectList(recordCursor, moveNum, listVersionCode);
+					List<DeviceTokenIOS> list = deviceTokenIOSMapper.selectList(recordCursor, moveNum, listCode);
 					recordCursor = recordCursor + 50;
 
 					if (list != null) {
@@ -580,17 +530,18 @@
 		}
 	}
 
+	@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 versionCodes) throws PushException {
 		MessageInfo info = new MessageInfo();
 		info.setTitle(title);
 		info.setContent(content);
 		info.setDescription(content);
 		// IOS 鍏ㄦ帹
 		if (uid == null || uid == 0) {
-			addPushIOSQueue(info, weexUrl, PushController.WEEX, listVersion);
+			addPushIOSQueue(info, weexUrl, PushController.WEEX, versionCodes);
 		} else {
-			List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, listVersion);
+			List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, versionCodes);
 			List<String> deviceTokenList = new ArrayList<>();
 			if (deviceTokenIosList != null)
 				for (DeviceTokenIOS ios : deviceTokenIosList) {
@@ -604,17 +555,18 @@
 		}
 	}
 
+	@Async("pushExecutor")
 	@Override
-	public void pushBaiChuanUrl(Long uid, String title, String content, String url, List<String> listVersion) throws PushException {
+	public void pushBaiChuanUrl(Long uid, String title, String content, String url, String versionCodes) throws PushException {
 		MessageInfo info = new MessageInfo();
 		info.setTitle(title);
 		info.setContent(content);
 		info.setDescription(content);
 		// IOS 鍏ㄦ帹
 		if (uid == null || uid == 0) {
-			addPushIOSQueue(info, url, PushController.BAICHUAN, listVersion);
+			addPushIOSQueue(info, url, PushController.BAICHUAN, versionCodes);
 		} else {
-			List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, listVersion);
+			List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, versionCodes);
 			List<String> deviceTokenList = new ArrayList<>();
 			if (deviceTokenIosList != null)
 				for (DeviceTokenIOS ios : deviceTokenIosList) {
@@ -652,20 +604,21 @@
 		return ispush;
 	}
 
+	@Async("pushExecutor")
 	@Override
-	public void pushWelfareCenter(Long uid, String title, String content, List<String> listVersion) throws PushException {
+	public void pushWelfareCenter(Long uid, String title, String content, String versionCodes) throws PushException {
 		MessageInfo info = new MessageInfo();
 		info.setTitle(title);
 		info.setContent(content);
 		info.setDescription(content);
 		// IOS 鍏ㄦ帹
 		if (uid == null || uid == 0) {
-			addPushIOSQueue(info, "", PushController.WELFARE_CENTER, listVersion);
+			addPushIOSQueue(info, "", PushController.WELFARE_CENTER, versionCodes);
 		} else {
 			if (!validateNotDisturbSingle(uid)) {
 				return;
 			}
-			List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, listVersion);
+			List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, versionCodes);
 			List<String> deviceTokenList = new ArrayList<>();
 			if (deviceTokenIosList != null)
 				for (DeviceTokenIOS ios : deviceTokenIosList) {
@@ -679,4 +632,23 @@
 		}
 	}
 
+	private List<Integer> convertVersionType(String versionCodes) {
+		List<Integer> listVersionCode = null;
+
+		if (versionCodes != null && versionCodes.trim().length() > 0) {
+			List<String> listVersion = Arrays.asList(versionCodes.split(","));
+			if (listVersion != null && listVersion.size() > 0) {
+
+				listVersionCode = new ArrayList<Integer>();
+				// 杞崲鎴愬姛鏁村瀷
+				for (String version : listVersion) {
+					if (version != null && version.trim().length() > 0) {
+						listVersionCode.add(Integer.parseInt(version));
+					}
+				}
+			}
+		}
+		return listVersionCode;
+	}
+	
 }

--
Gitblit v1.8.0