From 44327a748a3e6e04a21faa85e44c89e60a954f23 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 19 五月 2020 11:43:33 +0800
Subject: [PATCH] 活动通用券 取消验证
---
fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java | 186 ++++++++++++++++++++++++++++++++++++++++------
1 files changed, 160 insertions(+), 26 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 9974017..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,19 +116,18 @@
}
} else {
info.setAlias(uid + "");
- PushUtils.singlePushXiaoMi(info, json, pushRecord);
+ PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord);
}
-
}
+ @Async("pushExecutor")
@Override
- public void pushZNX(Long uId, AccountMessage msg, SystemZnx systemZNX) throws PushException {
- MessageInfo info = new MessageInfo();
+ public void pushZNX(Long uId, AccountMessage msg, SystemZnx systemZNX, String versions) 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());
@@ -107,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();
@@ -136,25 +177,38 @@
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) throws PushException {
- // TODO 鎺ㄩ�亀eex椤甸潰
+ 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", "weex");
+ 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);
@@ -175,15 +229,23 @@
}
} else {
info.setAlias(uid + "");
- PushUtils.singlePushXiaoMi(info, json, pushRecord);
+ PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord);
}
}
+ @Async("pushExecutor")
@Override
- public void pushBaiChuanUrl(Long uid, String title, String content, String url) throws PushException {
+ 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", "baichuan");
+ 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);
@@ -202,9 +264,81 @@
}
} else {
info.setAlias(uid + "");
- PushUtils.singlePushXiaoMi(info, json, pushRecord);
+ 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