From aad0425e6a103b633aab4c36642cdd34e95ace62 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 26 八月 2019 09:40:41 +0800
Subject: [PATCH] 推送类型优化

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 6 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..0756848 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
@@ -9,6 +9,7 @@
 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;
@@ -104,7 +105,7 @@
 		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());
@@ -153,7 +154,7 @@
 		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());
@@ -221,7 +222,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);
@@ -268,7 +269,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);
@@ -317,7 +318,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);
@@ -363,7 +364,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);
@@ -449,4 +450,49 @@
 		return versionCodes;
 	}
 
+	@Override
+	public void pushUserSignInNotification(Long uid, String title, String content, List<String> listIOS,
+			List<String> listAndroid) 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) {
+			// 闄愬埗鎺ㄩ�佺増鏈彿锛�0
+			String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS);
+			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) {
+			// 闄愬埗鎺ㄩ�佺増鏈彿锛�36
+			String versions = getEffectiveVersions(36, AppVersionInfo.PLATFORM_ANDROID, listAndroid);
+			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);
+			hwPushService.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