From 1d9eef9a4ba7caebf73b483e0062f9259dbf22a0 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期五, 28 二月 2020 15:42:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/push/IOSPushServiceImpl.java | 102 ++++++++++++++++++++++++++++++++-------------------
1 files changed, 64 insertions(+), 38 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 5d7bf3e..2f90f03 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
@@ -12,16 +12,16 @@
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.dto.push.PushTypeEnum;
import com.yeshi.fanli.entity.bus.user.AccountMessage;
import com.yeshi.fanli.entity.push.DeviceTokenIOS;
import com.yeshi.fanli.entity.push.PushQueueRecord;
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.push.IOSPushService;
import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
@@ -46,7 +46,8 @@
@Async("pushExecutor")
@Override
- public void pushGoods(Long uid, Long auctionId, String title, String content, String versionCodes) 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();
@@ -65,14 +66,14 @@
PushRecord pushRecord = new PushRecord();
pushRecord.setState(1);
- pushRecord.setType(PushController.GOODS); // 閮芥垚鍔�
+ pushRecord.setType(PushTypeEnum.goodsdetail.getCode()); // 閮芥垚鍔�
pushRecord.setUrl(url);
pushRecord.setTitle(title);
pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName());
if (uid == null || uid == 0) {
- addPushIOSQueue(info, url, PushController.GOODS, versionCodes);
+ addPushIOSQueue(info, url, PushTypeEnum.goodsdetail.getCode(), versionCodes);
/*
* // 鏌ヨIOS鎵�鏈夎澶囧彿 // TODO 闇�瑕佸叏鎺� List<String> deviceTokenList =
@@ -90,10 +91,10 @@
if (!validateNotDisturbSingle(uid)) {
return; // 閫氱煡鍏嶆墦鎵�(20:00-24:00 / 00:00 -08:00)
}
-
+
// IOS 鍗曟帹
List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, versionCodes);
-
+
List<String> deviceTokenList = new ArrayList<>();
if (deviceTokenIosList != null)
for (DeviceTokenIOS ios : deviceTokenIosList) {
@@ -101,7 +102,7 @@
}
try {
- IOSPushUtil.allPushIOS(deviceTokenList, info, url, PushController.GOODS);
+ IOSPushUtil.allPushIOS(deviceTokenList, info, url, PushTypeEnum.goodsdetail.getCode());
} catch (Exception e) {
PushLogHelper.iosError(e);
}
@@ -133,7 +134,7 @@
if (uid == null || uid == 0) {
// TODO 闇�瑕佸叏鎺�
- addPushIOSQueue(info, url, PushController.URL, versionCodes);
+ addPushIOSQueue(info, url, PushTypeEnum.url.getCode(), versionCodes);
/*
* List<String> deviceTokenList = getDeviceTokenList(1, 1000);
@@ -158,14 +159,13 @@
deviceTokenList.add(ios.getDeviceToken());
}
try {
- IOSPushUtil.allPushIOS(deviceTokenList, info, url, PushController.URL);
+ IOSPushUtil.allPushIOS(deviceTokenList, info, url, PushTypeEnum.url.getCode());
} catch (Exception e) {
PushLogHelper.iosError(e);
}
}
}
-
@Async("pushExecutor")
@Override
public void pushZNX(Long uId, AccountMessage msg, SystemZnx systemZNX, String versionCodes) throws PushException {
@@ -198,7 +198,7 @@
// TODO 闇�瑕佸叏鎺�
- addPushIOSQueue(info, id + "", PushController.ZNX, versionCodes);
+ addPushIOSQueue(info, id + "", PushTypeEnum.ZNX.getCode(), versionCodes);
/*
* List<String> deviceTokenList = getDeviceTokenList(1, 1000);
@@ -250,7 +250,7 @@
// IOS 鍗曟帹
try {
- IOSPushUtil.allPushIOS(deviceTokenList, info, "0", PushController.ZNX);
+ IOSPushUtil.allPushIOS(deviceTokenList, info, "0", PushTypeEnum.ZNX.getCode());
} catch (Exception e) {
PushLogHelper.iosError(e);
}
@@ -265,7 +265,7 @@
return;
// 鍒ゆ柇device鏄惁瀛樺湪
- DeviceTokenIOS deviceTokenIos = deviceTokenIOSMapper.selectByDevice(device);
+ DeviceTokenIOS deviceTokenIos = deviceTokenIOSMapper.selectByDeviceForUpdate(device);
if (deviceTokenIos == null) {
deviceTokenIos = new DeviceTokenIOS();
deviceTokenIos.setCreateTime(new Date());
@@ -326,10 +326,10 @@
*
* @param json
*/
- @Transactional
+ @Transactional(rollbackFor=Exception.class)
public void addPushIOSQueue(MessageInfo info, String url, int type, String versionCodes) throws PushException {
-
- if(Constant.IS_TEST)
+
+ if (Constant.IS_TEST)
return;
try {
@@ -344,7 +344,7 @@
// 姣忔鎵ц鏉$洰
int pushNum = 50;
-
+
for (long i = 0; i < tokenCount + totalCount;) {
PushQueueRecord pushQueueRecord = new PushQueueRecord();
@@ -360,7 +360,6 @@
pushQueueRecord.setType(1);
// 鐗堟湰鍙�
pushQueueRecord.setVersions(versionCodes);
-
if (tokenCount - i < totalCount) {
// 璧峰娓告爣
@@ -411,17 +410,15 @@
Long startCursor = pushQueueRecord.getStartCursor();
// 缁撴潫浣嶇疆
Long endCursor = pushQueueRecord.getEndCursor();
-
+
if (startCursor == null && endCursor == null) {
return;
}
-
// 鎺ㄩ�佺殑鐗堟湰鍙�
String versions = pushQueueRecord.getVersions();
List<Integer> listCode = convertVersionType(versions);
-
-
+
int total = (int) (endCursor - startCursor);
// 姣忔鎺ㄩ�佹�绘潯鏁�
@@ -436,7 +433,7 @@
long recordCursor = startCursor;
for (int i = 0; i < count; i++) {
-
+
// 涓嶈冻50涓暟鎹�
if (moveNum > total) {
moveNum = (int) (endCursor - startCursor);
@@ -486,11 +483,13 @@
Calendar now = Calendar.getInstance();
int hour = now.get(Calendar.HOUR_OF_DAY);
- if (hour >= 8 && hour < 20) {
- ispush = true; // 鍙帹閫�
- } else {
- listNotPushId = validateNotDisturb();
- }
+// if (hour >= 8 && hour < 20) {
+// ispush = true; // 鍙帹閫�
+// } else {
+// listNotPushId = validateNotDisturb();
+// }
+
+ ispush=true;//TODO 澶勭悊娑堟伅鍏嶆墦鎵�
for (DeviceTokenIOS ios : list) {
@@ -535,14 +534,15 @@
@Async("pushExecutor")
@Override
- public void pushWEEX(Long uid, String title, String content, String weexUrl,String versionCodes) 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, versionCodes);
+ addPushIOSQueue(info, weexUrl, PushTypeEnum.weex.getCode(), versionCodes);
} else {
List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, versionCodes);
List<String> deviceTokenList = new ArrayList<>();
@@ -551,7 +551,7 @@
deviceTokenList.add(ios.getDeviceToken());
}
try {
- IOSPushUtil.allPushIOS(deviceTokenList, info, weexUrl, PushController.WEEX);
+ IOSPushUtil.allPushIOS(deviceTokenList, info, weexUrl, PushTypeEnum.weex.getCode());
} catch (Exception e) {
PushLogHelper.iosError(e);
}
@@ -560,14 +560,15 @@
@Async("pushExecutor")
@Override
- public void pushBaiChuanUrl(Long uid, String title, String content, String url, String versionCodes) 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, versionCodes);
+ addPushIOSQueue(info, url, PushTypeEnum.baichuan.getCode(), versionCodes);
} else {
List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, versionCodes);
List<String> deviceTokenList = new ArrayList<>();
@@ -576,7 +577,7 @@
deviceTokenList.add(ios.getDeviceToken());
}
try {
- IOSPushUtil.allPushIOS(deviceTokenList, info, url, PushController.BAICHUAN);
+ IOSPushUtil.allPushIOS(deviceTokenList, info, url, PushTypeEnum.baichuan.getCode());
} catch (Exception e) {
PushLogHelper.iosError(e);
}
@@ -616,7 +617,7 @@
info.setDescription(content);
// IOS 鍏ㄦ帹
if (uid == null || uid == 0) {
- addPushIOSQueue(info, "", PushController.WELFARE_CENTER, versionCodes);
+ addPushIOSQueue(info, "", PushTypeEnum.welfare.getCode(), versionCodes);
} else {
if (!validateNotDisturbSingle(uid)) {
return;
@@ -628,7 +629,7 @@
deviceTokenList.add(ios.getDeviceToken());
}
try {
- IOSPushUtil.allPushIOS(deviceTokenList, info, "", PushController.WELFARE_CENTER);
+ IOSPushUtil.allPushIOS(deviceTokenList, info, "", PushTypeEnum.welfare.getCode());
} catch (Exception e) {
PushLogHelper.iosError(e);
}
@@ -653,5 +654,30 @@
}
return listVersionCode;
}
-
+
+ @Override
+ public void pushUserSignInNotification(Long uid, String title, String content, String versions)
+ throws PushException {
+ MessageInfo info = new MessageInfo();
+ info.setTitle(title);
+ info.setContent(content);
+ info.setDescription(content);
+ // IOS 鍏ㄦ帹
+ if (uid == null || uid == 0) {
+ addPushIOSQueue(info, "", PushTypeEnum.signin.getCode(), versions);
+ } else {
+ List<DeviceTokenIOS> deviceTokenIosList = getDeviceTokenListByUid(uid, versions);
+ List<String> deviceTokenList = new ArrayList<>();
+ if (deviceTokenIosList != null)
+ for (DeviceTokenIOS ios : deviceTokenIosList) {
+ deviceTokenList.add(ios.getDeviceToken());
+ }
+ try {
+ IOSPushUtil.allPushIOS(deviceTokenList, info, "", PushTypeEnum.signin.getCode());
+ } catch (Exception e) {
+ PushLogHelper.iosError(e);
+ }
+ }
+ }
+
}
--
Gitblit v1.8.0