From 6aa1ef804ab91c4d9d6b069fb22f8f0ca81e13c7 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 18 Jul 2023 15:12:20 +0800
Subject: [PATCH] push添加测试接口

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java |   73 +++++++++++++++++++++++++-----------
 1 files changed, 51 insertions(+), 22 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 f0f4147..98a150c 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
@@ -6,10 +6,13 @@
 import cn.gistack.sm.message.entity.MessageRecord;
 import cn.gistack.sm.message.feign.IMessageClient;
 import lombok.AllArgsConstructor;
+import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.redis.cache.BladeRedis;
+import org.springblade.core.tool.utils.Func;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 
+import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -30,31 +33,20 @@
 	}
 
 	@Override
-	public UniCloudReturnRes pushMessage(PushVO pushVO) {
-
-		RestTemplate template = new RestTemplate();
-		Map<String, Object> params = new LinkedHashMap<>();
-
-		params.put("push_clientid",pushVO.getCIds());
-		params.put("title",pushVO.getTitle());
-		params.put("content",pushVO.getContent());
-		UniCloudReturnRes uniCloudReturnRes = template.getForObject(UNI_CLOUD_PUSH_URL,UniCloudReturnRes.class,params);
-		return uniCloudReturnRes;
-	}
-
-	@Override
 	public Boolean pushMessageList(List<MessageRecord> messageRecordList) {
 		PushVO pushVO = new PushVO();
+		List<String> cIdList = new ArrayList<>();
+		//相同的消息推送给多用户
 		messageRecordList.forEach(messageRecord -> {
+			//获取用户cId
 			String clientId = getClientIdByUserId(messageRecord.getRecipient());
-
-			pushVO.getCIds().add(clientId);
-			pushVO.setTitle(messageRecord.getTheme());
-			pushVO.setContent(messageRecord.getContent());
-
+			cIdList.add(clientId);
 		});
-		UniCloudReturnRes uniCloudReturnRes = pushMessage(pushVO);
-		return uniCloudReturnRes.getErrCode().equals(0)?true:false;
+		pushVO.setCIds(cIdList);
+		pushVO.setTitle(messageRecordList.get(0).getTheme());
+		pushVO.setContent(messageRecordList.get(0).getContent());
+
+		return pushMessage(pushVO);
 	}
 
 	@Override
@@ -69,10 +61,11 @@
 		List<MessageRecord> notReadList = messageClient.getNotReadList(userId);
 
 		PushVO pushVO = new PushVO();
+		List<String> cIdList = new ArrayList<>();
 
 		//设置cId
-		pushVO.getCIds().add(getClientIdByUserId(userId));
-
+		cIdList.add(getClientIdByUserId(userId));
+		pushVO.setCIds(cIdList);
 		//设置标题和内容
 		notReadList.forEach(messageRecord -> {
 			pushVO.setTitle(messageRecord.getTheme());
@@ -84,6 +77,21 @@
 		return true;
 	}
 
+	@Override
+	public Boolean pushMessageByUserId(PushVO pushVO) {
+
+		if (Func.isEmpty(pushVO.getUserId())){
+			throw new ServiceException("请填写用户id!");
+		}
+
+		String clientIdByUserId = getClientIdByUserId(pushVO.getUserId());
+		List<String> cIdList = new ArrayList<>();
+		cIdList.add(clientIdByUserId);
+		pushVO.setCIds(cIdList);
+
+		return pushMessage(pushVO);
+	}
+
 	/**
 	 * 根据用户id从redis中获取cid
 	 * @param userId
@@ -92,4 +100,25 @@
 	public String getClientIdByUserId(String userId){
 		return bladeRedis.get(PUSH_CLIENT_ID+userId);
 	}
+
+	/**
+	 * 消息推送
+	 * @param pushVO
+	 * @return
+	 */
+	public Boolean pushMessage(PushVO pushVO){
+
+		RestTemplate template = new RestTemplate();
+		Map<String, Object> params = new LinkedHashMap<>();
+		//用户cId,可数组,可字符串
+		params.put("push_clientid",pushVO.getCIds());
+		//标题
+		params.put("title",pushVO.getTitle());
+		//内容
+		params.put("content",pushVO.getContent());
+//		UniCloudReturnRes uniCloudReturnRes = template.getForObject(UNI_CLOUD_PUSH_URL,UniCloudReturnRes.class,params);
+		UniCloudReturnRes uniCloudReturnRes = template.postForObject(UNI_CLOUD_PUSH_URL,params,UniCloudReturnRes.class);
+		return uniCloudReturnRes.getErrCode().equals(0)?true:false;
+
+	}
 }

--
Gitblit v1.9.3