From 24a8d17e007545f7426c48352109aa1a9c6587ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 06 五月 2020 12:02:09 +0800 Subject: [PATCH] IOS上线隐藏我的界面的banner与超级会员升级信息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java | 231 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 209 insertions(+), 22 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 068c769..ce8c2f3 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,13 +1,22 @@ package com.yeshi.fanli.service.impl.push; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import com.yeshi.fanli.dto.push.PushTypeEnum; import com.yeshi.fanli.entity.bus.user.AccountMessage; +import com.yeshi.fanli.entity.push.DeviceTokenXM; 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.DeviceTokenXMService; import com.yeshi.fanli.service.inter.push.XMPushService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.push.PushUtils; @@ -17,15 +26,36 @@ @Service public class XMPushServiceImpl implements XMPushService { + @Resource + private DeviceTokenXMService deviceTokenXMService; + + private List<String> getRegIds(Long uid) { + List<DeviceTokenXM> list = deviceTokenXMService.listByUid(uid); + + List<String> regIds = new ArrayList<>(); + if (list != null) + for (DeviceTokenXM token : list) + regIds.add(token.getRegisterId()); + return regIds; + } + + @Async("pushExecutor") @Override - public void pushGoods(Long uid, Long auctionId, String title, String content) throws PushException { + public void pushGoods(Long uid, Long auctionId, String title, String content, String versions) + throws PushException { + String gid = auctionId + ""; JSONObject json = new JSONObject(); // json.put("url", "http://item.taobao.com/item.htm?id=" + gid);// IOS浣跨敤 json.put("id", gid); - json.put("type", "goodsdetail"); + json.put("type", PushTypeEnum.goodsdetail.name()); json.put("miPushUrl", String.format("%s.ui.recommend.GoodsBrowserActivity", Constant.systemCommonConfig.getAndroidBaseactivityName())); + + // 鐗堟湰鎺ㄩ�� + if (versions != null && versions.trim().length() > 0) { + json.put("app_version", versions); + } MessageInfo info = new MessageInfo(); info.setTitle(title); @@ -46,18 +76,25 @@ } else { info.setAlias(uid + ""); // 灏忕背 鍗曟帹 - PushUtils.singlePushXiaoMi(info, json, pushRecord); + PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord); } } + @Async("pushExecutor") @Override - public void pushUrl(Long uid, String url, String title, String content) throws PushException { + 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("type", PushTypeEnum.url.name()); json.put("webUrl", url); json.put("miPushUrl", String.format("%s.ui.invite.ShareBrowserActivity", Constant.systemCommonConfig.getAndroidBaseactivityName())); + + // 鐗堟湰鎺ㄩ�� + if (versions != null && versions.trim().length() > 0) { + json.put("app_version", versions); + } MessageInfo info = new MessageInfo(); info.setTitle(title); @@ -79,24 +116,18 @@ } } else { info.setAlias(uid + ""); - PushUtils.singlePushXiaoMi(info, json, pushRecord); + PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord); } - } + @Async("pushExecutor") @Override - public void pushWEEXUrl(Long uid, String weexUrl, String title, String content) throws PushException { + public void pushZNX(Long uId, AccountMessage msg, SystemZnx systemZNX, String versions) throws PushException { - } - - @Override - public void pushZNX(Long uId, AccountMessage msg, SystemZnx systemZNX) throws PushException { MessageInfo info = new MessageInfo(); - info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName()); JSONObject contentJson = new JSONObject(); - contentJson.put("isOpen", 0); contentJson.put("createTime", java.lang.System.currentTimeMillis()); @@ -112,10 +143,15 @@ contentJson.put("id", id); JSONObject json = new JSONObject(); - json.put("type", "ZNX"); + json.put("type", PushTypeEnum.ZNX.name()); json.put("content", contentJson); - json.put("miPushUrl", String.format("%s.ui.mine.AppMailDetailActivity", - Constant.systemCommonConfig.getAndroidBaseactivityName())); + json.put("miPushUrl", + String.format("%s.ui.main.MainActivity", Constant.systemCommonConfig.getAndroidBaseactivityName())); + + // 鐗堟湰鎺ㄩ�� + if (versions != null && versions.trim().length() > 0) { + json.put("app_version", versions); + } PushRecord pushRecord = new PushRecord(); @@ -141,17 +177,168 @@ contentJson.put("id", msg.getId() + ""); JSONObject json = new JSONObject(); - json.put("type", "ZNX"); + json.put("type", PushTypeEnum.ZNX.name()); json.put("content", contentJson); - json.put("miPushUrl", String.format("%s.ui.mine.AppMailDetailActivity", - Constant.systemCommonConfig.getAndroidBaseactivityName())); + json.put("miPushUrl", + String.format("%s.ui.main.MainActivity", Constant.systemCommonConfig.getAndroidBaseactivityName())); + + // 鐗堟湰鎺ㄩ�� + if (versions != null && versions.trim().length() > 0) { + json.put("app_version", versions); + } + // 灏忕背 鍗曟帹 try { - PushUtils.singlePushXiaoMi(info, json, pushRecord); + PushUtils.singlePushXiaoMi(info, json, getRegIds(uId), pushRecord); } catch (Exception e) { PushLogHelper.xmError(e); } } } + @Async("pushExecutor") + @Override + public void pushWEEX(Long uid, String title, String content, String weexUrl, String versions) throws PushException { + + JSONObject json = new JSONObject(); + json.put("url", weexUrl); + json.put("type", PushTypeEnum.weex.name()); + + // 鐗堟湰鎺ㄩ�� + if (versions != null && versions.trim().length() > 0) { + json.put("app_version", versions); + } + + MessageInfo info = new MessageInfo(); + info.setTitle(title); + info.setContent(content); + info.setDescription(content); + // 灏忕背鎺ㄩ�佺綉椤� + info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName()); + info.setActivty(String.format("%s.ui.mine.weex.WeexApplicationActivity", + Constant.systemCommonConfig.getAndroidBaseactivityName())); + + PushRecord pushRecord = new PushRecord(); + + // 灏忕背 鍏ㄦ帹 + if (uid == null || uid == 0) { + try { + PushUtils.allPushXiaoMi(info, json, pushRecord); + } catch (Exception e) { + PushLogHelper.xmError(e); + } + } else { + info.setAlias(uid + ""); + PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord); + } + } + + @Async("pushExecutor") + @Override + 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", PushTypeEnum.baichuan.name()); + // 鐗堟湰鎺ㄩ�� + if (versions != null && versions.trim().length() > 0) { + json.put("app_version", versions); + } + + MessageInfo info = new MessageInfo(); + info.setTitle(title); + info.setContent(content); + info.setDescription(content); + // 灏忕背鎺ㄩ�佺綉椤� + info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName()); + + PushRecord pushRecord = new PushRecord(); + + // 灏忕背 鍏ㄦ帹 + if (uid == null || uid == 0) { + try { + PushUtils.allPushXiaoMi(info, json, pushRecord); + } catch (Exception e) { + PushLogHelper.xmError(e); + } + } else { + info.setAlias(uid + ""); + PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord); + } + } + + @Async("pushExecutor") + @Override + public void pushWelfareCenter(Long uid, String title, String content, String versions) throws PushException { + + JSONObject json = new JSONObject(); + json.put("type", PushTypeEnum.welfare.name()); + json.put("miPushUrl", String.format("%s.ui.mine.WelfareCenterActivity", + Constant.systemCommonConfig.getAndroidBaseactivityName())); + // 鐗堟湰鎺ㄩ�� + if (versions != null && versions.trim().length() > 0) { + json.put("app_version", versions); + } + + MessageInfo info = new MessageInfo(); + info.setTitle(title); + info.setContent(content); + info.setDescription(content); + // 灏忕背鎺ㄩ�佺綉椤� + info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName()); + info.setActivty(String.format("%s.ui.mine.WelfareCenterActivity", + Constant.systemCommonConfig.getAndroidBaseactivityName())); + + PushRecord pushRecord = new PushRecord(); + + // 灏忕背 鍏ㄦ帹 + if (uid == null || uid == 0) { + try { + PushUtils.allPushXiaoMi(info, json, pushRecord); + } catch (Exception e) { + PushLogHelper.xmError(e); + } + } else { + info.setAlias(uid + ""); + PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord); + } + } + + @Override + public void pushUserSignInNotification(Long uid, String title, String content, String versions) + throws PushException { + JSONObject json = new JSONObject(); + json.put("type", PushTypeEnum.signin.name()); + json.put("miPushUrl", String.format("%s.ui.goldtask.GoldTaskActivity", + Constant.systemCommonConfig.getAndroidBaseactivityName())); + // 鐗堟湰鎺ㄩ�� + if (versions != null && versions.trim().length() > 0) { + json.put("app_version", versions); + } + + MessageInfo info = new MessageInfo(); + info.setTitle(title); + info.setContent(content); + info.setDescription(content); + // 灏忕背鎺ㄩ�佺綉椤� + info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName()); + info.setActivty(String.format("%s.ui.goldtask.GoldTaskActivity", + Constant.systemCommonConfig.getAndroidBaseactivityName())); + + PushRecord pushRecord = new PushRecord(); + + // 灏忕背 鍏ㄦ帹 + if (uid == null || uid == 0) { + try { + PushUtils.allPushXiaoMi(info, json, pushRecord); + } catch (Exception e) { + PushLogHelper.xmError(e); + } + } else { + info.setAlias(uid + ""); + PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord); + } + } + } -- Gitblit v1.8.0