From 1dd5d8f8a616f5cf3caa7828d46989c7d3dcafc4 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Thu, 19 Oct 2023 15:01:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev
---
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java | 81 ++++++++++++++++++++++++++--------------
1 files changed, 53 insertions(+), 28 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java
index 3389cd7..8d98f1f 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java
@@ -15,6 +15,7 @@
import org.springframework.web.client.RestTemplate;
import java.util.*;
+import java.util.concurrent.atomic.AtomicReference;
@Service
@AllArgsConstructor
@@ -35,37 +36,34 @@
@Override
public Boolean pushMessageList(List<MessageRecord> messageRecordList) {
// 加入测试人员
- addSendMsgTest(messageRecordList);
+// addSendMsgTest(messageRecordList);
List<String> cIdList = new ArrayList<>();
+ AtomicReference<Boolean> push = new AtomicReference<>(false);
//相同的消息推送给多用户
messageRecordList.forEach(messageRecord -> {
//获取用户cId
String clientId = getClientIdByUserId(messageRecord.getRecipient());
- cIdList.add(clientId);
+ if (null!=clientId && !clientId.equals("")) {
+ cIdList.add(clientId);
+ PushVO pushVO = new PushVO();
+ pushVO.setCIds(cIdList);
+ pushVO.setTitle(messageRecord.getTheme());
+ pushVO.setContent(messageRecord.getContent());
+
+ HashMap<String, Object> payload = new HashMap<>();
+ payload.put("title",messageRecord.getTheme());
+ payload.put("content", messageRecord.getContent());
+ payload.put("payload", "test");
+ pushVO.setPayload(payload);
+ push.set(pushMessage(pushVO));
+ }
});
-
- //uni-push 一次推送最多500名用户,所以分批推送
- List<List<String>> groupList = groupListByQuantity(cIdList, 400);
- groupList.forEach(item->{
- PushVO pushVO = new PushVO();
-
- pushVO.setCIds(cIdList);
- pushVO.setTitle(messageRecordList.get(0).getTheme());
- pushVO.setContent(messageRecordList.get(0).getContent());
-
- HashMap<String,Object> payload = new HashMap<>();
- payload.put("title",messageRecordList.get(0).getTheme());
- payload.put("content",messageRecordList.get(0).getContent());
- payload.put("payload","test");
- pushVO.setPayload(payload);
- pushMessage(pushVO);
-
- });
- return true;
+ return push.get();
}
/**
* 新增测试信息
+ *
* @param messageRecordList
*/
private void addSendMsgTest(List<MessageRecord> messageRecordList) {
@@ -120,10 +118,10 @@
cIdList.add(clientIdByUserId);
pushVO.setCIds(cIdList);
- HashMap<String,Object> payload = new HashMap<>();
- payload.put("title",pushVO.getTitle());
- payload.put("content",pushVO.getContent());
- payload.put("payload","test");
+ HashMap<String, Object> payload = new HashMap<>();
+ payload.put("title", pushVO.getTitle());
+ payload.put("content", pushVO.getContent());
+ payload.put("payload", "test");
pushVO.setPayload(payload);
@@ -136,6 +134,32 @@
cIdList.add(getClientIdByUserId(pushVO.getUserId()));
// return geTuiUtils.pushMsg(cIdList, pushVO.getTitle(), pushVO.getContent());
return geTuiUtils.myPushMessage(cIdList, pushVO.getTitle(), pushVO.getContent());
+ }
+
+ @Override
+ public Boolean pushMessageByUserList(PushVO pushVO) {
+
+ if (Func.isEmpty(pushVO.getUserId())) {
+ throw new ServiceException("请填写用户id!");
+ }
+
+ //获取userIdList
+ List<String> userIdList = Arrays.asList(pushVO.getUserId().split(","));
+ List<MessageRecord> messageRecordList = new ArrayList<>();
+
+ userIdList.forEach(userId->{
+ MessageRecord messageRecord = new MessageRecord();
+
+ messageRecord.setContent(pushVO.getContent());
+ messageRecord.setTheme(pushVO.getTitle());
+ messageRecord.setRecipient(userId);
+
+ messageRecordList.add(messageRecord);
+ });
+
+ Boolean aBoolean = pushMessageList(messageRecordList);
+
+ return aBoolean;
}
/**
@@ -169,7 +193,7 @@
params.put("requestId", UUID.randomUUID());
- params.put("payload",pushVO.getPayload());
+ params.put("payload", pushVO.getPayload());
UniCloudReturnRes uniCloudReturnRes = template.postForObject(UNI_CLOUD_PUSH_URL, params, UniCloudReturnRes.class);
return uniCloudReturnRes.getErrCode().equals("0") ? true : false;
@@ -177,12 +201,13 @@
/**
* 对集合按指定数量进行分组
- * @param list 分组的集合
+ *
+ * @param list 分组的集合
* @param quantity 数量
* @param <T>
* @return
*/
- public <T> List<List<T>> groupListByQuantity(List list, int quantity) {
+ public <T> List<List<T>> groupListByQuantity(List list, int quantity) {
if (list == null || list.size() == 0) {
return list;
}
--
Gitblit v1.9.3