From 4a7367a869ef12375ea6678ca44e102b8919c624 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 12 一月 2022 16:53:42 +0800 Subject: [PATCH] 极光推送完善(推送通知与透传消息) --- service-push/src/main/java/com/ks/push/manager/PushManager.java | 33 +++++++++++++++++++++------------ 1 files changed, 21 insertions(+), 12 deletions(-) diff --git a/service-push/src/main/java/com/ks/push/manager/PushManager.java b/service-push/src/main/java/com/ks/push/manager/PushManager.java index a830a6d..3d8f061 100644 --- a/service-push/src/main/java/com/ks/push/manager/PushManager.java +++ b/service-push/src/main/java/com/ks/push/manager/PushManager.java @@ -36,11 +36,10 @@ private BPushPlatformAppInfoManager bPushPlatformAppInfoManager; @Resource - private RedisTemplate<String, Object> redisTemplate; - - @Resource private PushExcuteResultManager pushExcuteResultManager; + @Resource + private RedisTemplate redisTemplate; /** @@ -55,6 +54,11 @@ task.setCreateTime(new Date()); } task.setId(BPushTask.createId()); + + if (task.getState() == null) { + task.setState(BPushTask.STATE_NOT_START); + } + bPushTaskDao.save(task); logger.info("鍒涘缓鎺ㄩ�佹垚鍔�#taskId:{}", task.getId()); return task.getId(); @@ -77,13 +81,19 @@ } String key = "task-" + taskId; - if (!redisTemplate.opsForValue().setIfAbsent(key, "1", 5 * 60, TimeUnit.SECONDS)) { + + Boolean s = redisTemplate.opsForValue().setIfAbsent(key, "1", 5 * 60, TimeUnit.SECONDS); + + if (s == null || !s) { throw new BPushTaskException(BPushTaskException.CODE_BUSY, "鏈嶅姟鍣ㄧ箒蹇欙紝璇风◢鍚庡啀璇�"); } - logger.info("寮�濮嬪惎鍔ㄦ帹閫�#taskId:{}", task.getId()); - updateState(taskId, BPushTask.STATE_PUSHING, null); - boolean hasDevice = false; + + try { + logger.info("寮�濮嬪惎鍔ㄦ帹閫�#taskId:{}", task.getId()); + updateState(taskId, BPushTask.STATE_PUSHING, null); + boolean hasDevice = false; + // 鏌ヨ鍙帹閫佺殑骞冲彴 List<BPushPlatformAppInfo> list = bPushPlatformAppInfoManager.listByAppCode(task.getAppCode()); @@ -132,15 +142,14 @@ } logger.info("鍔犲叆鎺ㄩ�侀槦鍒�#浠诲姟Id:{}#骞冲彴:{}#鎺ㄩ�佹暟閲�:{}", task.getId(), result.getPushPlatform().name(), count); } + + if (!hasDevice) { + updateState(taskId, BPushTask.STATE_FINSIH, "娌℃湁婊¤冻鏉′欢鐨勫彲鎺ㄩ�佽澶�"); + } } finally { redisTemplate.delete(key); } - //娌℃湁鍙帹閫佺殑璁惧 - if (!hasDevice) { - updateState(taskId, BPushTask.STATE_FINSIH, "娌℃湁婊¤冻鏉′欢鐨勫彲鎺ㄩ�佽澶�"); - } - logger.info("鍚姩鎺ㄩ�佺粨鏉�#taskId:{}", task.getId()); } -- Gitblit v1.8.0