From e5c863dd36bb1fcfe5eee9fd0e83950f0230a37d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 31 Jul 2023 10:55:55 +0800
Subject: [PATCH] uni-push 2.0

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java |   68 +++++++++++++++++++++++++--------
 1 files changed, 51 insertions(+), 17 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 98a150c..1488920 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
@@ -1,6 +1,7 @@
 package cn.gistack.alerts.push.service.impl;
 
 import cn.gistack.alerts.push.service.IPushService;
+import cn.gistack.alerts.push.utils.GeTuiUtils;
 import cn.gistack.alerts.push.vo.PushVO;
 import cn.gistack.alerts.push.vo.UniCloudReturnRes;
 import cn.gistack.sm.message.entity.MessageRecord;
@@ -8,6 +9,7 @@
 import lombok.AllArgsConstructor;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.redis.cache.BladeRedis;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
@@ -25,15 +27,18 @@
 
 	private BladeRedis bladeRedis;
 	private IMessageClient messageClient;
+	private GeTuiUtils geTuiUtils;
 
 	@Override
-	public Boolean saveCId(String userId,String cId) {
-		bladeRedis.set(PUSH_CLIENT_ID + userId,cId);
+	public Boolean saveCId(String userId, String cId) {
+		bladeRedis.set(PUSH_CLIENT_ID + userId, cId);
 		return Boolean.TRUE;
 	}
 
 	@Override
 	public Boolean pushMessageList(List<MessageRecord> messageRecordList) {
+		// 加入测试人员
+//		addSendMsgTest(messageRecordList);
 		PushVO pushVO = new PushVO();
 		List<String> cIdList = new ArrayList<>();
 		//相同的消息推送给多用户
@@ -47,6 +52,22 @@
 		pushVO.setContent(messageRecordList.get(0).getContent());
 
 		return pushMessage(pushVO);
+	}
+
+	/**
+	 * 新增测试信息
+	 * @param messageRecordList
+	 */
+	private void addSendMsgTest(List<MessageRecord> messageRecordList) {
+		MessageRecord messageRecord = new MessageRecord();
+		messageRecord.setRecipient("1654164141753593858");
+		messageRecord.setContent(messageRecordList.get(0).getContent());
+		messageRecord.setTheme(messageRecordList.get(0).getTheme());
+		messageRecord.setSender(AuthUtil.getUserId().toString());
+		messageRecord.setSource("智能告警");
+		messageRecord.setStatus(0);
+		// 加入集合
+		messageRecordList.add(messageRecord);
 	}
 
 	@Override
@@ -80,7 +101,7 @@
 	@Override
 	public Boolean pushMessageByUserId(PushVO pushVO) {
 
-		if (Func.isEmpty(pushVO.getUserId())){
+		if (Func.isEmpty(pushVO.getUserId())) {
 			throw new ServiceException("请填写用户id!");
 		}
 
@@ -92,33 +113,46 @@
 		return pushMessage(pushVO);
 	}
 
-	/**
-	 * 根据用户id从redis中获取cid
-	 * @param userId
-	 * @return
-	 */
-	public String getClientIdByUserId(String userId){
-		return bladeRedis.get(PUSH_CLIENT_ID+userId);
+	@Override
+	public Boolean geTuiPushMessage(PushVO pushVO) {
+		List<String> cIdList = new ArrayList<>();
+		cIdList.add(getClientIdByUserId(pushVO.getUserId()));
+//		return geTuiUtils.pushMsg(cIdList, pushVO.getTitle(), pushVO.getContent());
+		return geTuiUtils.myPushMessage(cIdList, pushVO.getTitle(), pushVO.getContent());
 	}
 
 	/**
-	 * 消息推送
+	 * 根据用户id从redis中获取cid
+	 *
+	 * @param userId
+	 * @return
+	 */
+	public String getClientIdByUserId(String userId) {
+		if (Func.isEmpty(userId)) {
+			throw new ServiceException("请填写用户id!");
+		}
+		return bladeRedis.get(PUSH_CLIENT_ID + userId);
+	}
+
+	/**
+	 * 2.0云函数消息推送
+	 *
 	 * @param pushVO
 	 * @return
 	 */
-	public Boolean pushMessage(PushVO pushVO){
+	public Boolean pushMessage(PushVO pushVO) {
 
 		RestTemplate template = new RestTemplate();
 		Map<String, Object> params = new LinkedHashMap<>();
 		//用户cId,可数组,可字符串
-		params.put("push_clientid",pushVO.getCIds());
+		params.put("push_clientid", pushVO.getCIds());
 		//标题
-		params.put("title",pushVO.getTitle());
+		params.put("title", pushVO.getTitle());
 		//内容
-		params.put("content",pushVO.getContent());
+		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;
+		UniCloudReturnRes uniCloudReturnRes = template.postForObject(UNI_CLOUD_PUSH_URL, params, UniCloudReturnRes.class);
+		return uniCloudReturnRes.getErrCode().equals("0") ? true : false;
 
 	}
 }

--
Gitblit v1.9.3