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