From e1da545eab3a4b8ce2cf90ff95814211997ac576 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 14 Jul 2023 10:45:23 +0800
Subject: [PATCH] push测试

---
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/vo/PushVO.java                    |   18 ++++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/vo/UniCloudReturnRes.java         |   16 +++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/controller/PushController.java    |   39 +++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/IPushService.java         |   16 +++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java |   41 +++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/utils/PushUtil.java               |   42 ++++++++++++++
 6 files changed, 172 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/controller/PushController.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/controller/PushController.java
new file mode 100644
index 0000000..69831b0
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/controller/PushController.java
@@ -0,0 +1,39 @@
+package cn.gistack.alerts.push.controller;
+
+
+import cn.gistack.alerts.push.service.IPushService;
+import cn.gistack.alerts.push.vo.PushVO;
+import lombok.AllArgsConstructor;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/push/push")
+public class PushController {
+	private final IPushService pushService;
+
+	/**
+	 * 保存cid
+	 * @param userId
+	 * @param cId
+	 * @return
+	 */
+	@PostMapping("/saveCId")
+	public R saveCId(String userId,String cId){
+		return R.data(pushService.saveCId(userId,cId));
+	}
+
+	/**
+	 * 消息推送
+	 * @param pushVO
+	 * @return
+	 */
+	@PostMapping("/pushMessage")
+	public R pushMessage(PushVO pushVO){
+		return R.data(pushService.pushMessage(pushVO));
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/IPushService.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/IPushService.java
new file mode 100644
index 0000000..c60e1a8
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/IPushService.java
@@ -0,0 +1,16 @@
+package cn.gistack.alerts.push.service;
+
+import cn.gistack.alerts.push.vo.PushVO;
+import cn.gistack.alerts.push.vo.UniCloudReturnRes;
+
+public interface IPushService {
+
+	/**
+	 * 保存cid
+	 * @param cId
+	 * @return
+	 */
+	Boolean saveCId(String userId,String cId);
+
+	UniCloudReturnRes pushMessage(PushVO pushVO);
+}
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
new file mode 100644
index 0000000..650ddf0
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java
@@ -0,0 +1,41 @@
+package cn.gistack.alerts.push.service.impl;
+
+import cn.gistack.alerts.push.service.IPushService;
+import cn.gistack.alerts.push.vo.PushVO;
+import cn.gistack.alerts.push.vo.UniCloudReturnRes;
+import lombok.AllArgsConstructor;
+import org.springblade.core.redis.cache.BladeRedis;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+@Service
+@AllArgsConstructor
+public class PushServiceImpl implements IPushService {
+	private static final String PUSH_CLIENT_ID = "push:client:id:";
+	private static final String UNI_CLOUD_PUSH_URL = "https://fc-mp-ad1ed7e3-700e-4fca-abae-0d097cc222b5.next.bspapp.com/push";
+
+	private BladeRedis bladeRedis;
+
+	@Override
+	public Boolean saveCId(String userId,String cId) {
+		bladeRedis.set(PUSH_CLIENT_ID + userId,cId);
+		return Boolean.TRUE;
+	}
+
+	@Override
+	public UniCloudReturnRes pushMessage(PushVO pushVO) {
+
+		RestTemplate template = new RestTemplate();
+		Map<String, Object> params = new LinkedHashMap<>();
+		Object o = bladeRedis.get(PUSH_CLIENT_ID + pushVO.getUserId());
+
+		params.put("push_clientid",bladeRedis.get(PUSH_CLIENT_ID + pushVO.getUserId()));
+		params.put("title",pushVO.getTitle());
+		params.put("content",pushVO.getContent());
+		UniCloudReturnRes uniCloudReturnRes = template.postForObject(UNI_CLOUD_PUSH_URL, params, UniCloudReturnRes.class);
+		return uniCloudReturnRes;
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/utils/PushUtil.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/utils/PushUtil.java
new file mode 100644
index 0000000..e161942
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/utils/PushUtil.java
@@ -0,0 +1,42 @@
+package cn.gistack.alerts.push.utils;
+
+import cn.gistack.alerts.push.vo.PushVO;
+import org.springframework.web.client.RestTemplate;
+
+import java.io.IOException;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+public class PushUtil {
+
+	private String UNI_CLOUD_PUSH_URL = "https://fc-mp-ad1ed7e3-700e-4fca-abae-0d097cc222b5.next.bspapp.com/push";
+
+	public static void main(String[] args) throws IOException {
+
+
+	}
+
+	/**
+	 * 消息推送
+	 * @param pushVO
+	 */
+	public void 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());
+
+		String result = template.postForObject(UNI_CLOUD_PUSH_URL, params, String.class);
+	}
+
+	/**
+	 * 根据电话获取cIds
+	 * @param phoneIds
+	 */
+	public void getCIdsByPhone(List<String> phoneIds){
+
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/vo/PushVO.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/vo/PushVO.java
new file mode 100644
index 0000000..379376a
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/vo/PushVO.java
@@ -0,0 +1,18 @@
+package cn.gistack.alerts.push.vo;
+
+import lombok.Data;
+
+import java.util.HashMap;
+import java.util.List;
+
+@Data
+public class PushVO {
+
+	private List<String> cIds;
+
+	private String title;
+
+	private String content;
+
+	private String userId;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/vo/UniCloudReturnRes.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/vo/UniCloudReturnRes.java
new file mode 100644
index 0000000..e728a15
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/vo/UniCloudReturnRes.java
@@ -0,0 +1,16 @@
+package cn.gistack.alerts.push.vo;
+
+import lombok.Data;
+
+import java.util.HashMap;
+
+@Data
+public class UniCloudReturnRes {
+
+	private Object data;
+
+	private Integer errCode;
+
+	private String errMsg;
+
+}

--
Gitblit v1.9.3