guoshilong
2023-07-14 e1da545eab3a4b8ce2cf90ff95814211997ac576
push测试
6 files added
172 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/controller/PushController.java 39 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/IPushService.java 16 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java 41 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/utils/PushUtil.java 42 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/vo/PushVO.java 18 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/vo/UniCloudReturnRes.java 16 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/controller/PushController.java
New file
@@ -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));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/IPushService.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java
New file
@@ -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;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/utils/PushUtil.java
New file
@@ -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){
    }
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/vo/PushVO.java
New file
@@ -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;
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/vo/UniCloudReturnRes.java
New file
@@ -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;
}