Browse Source

webSocket消息推送

sunhh 2 years ago
parent
commit
d6b3bfb406

+ 64 - 0
hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketConteoller.java

@@ -0,0 +1,64 @@
+package com.ozs.web.controller.websocket;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.ozs.common.core.controller.BaseController;
+import com.ozs.common.utils.AppendUtils;
+import com.ozs.service.entity.BaseCameraManagement;
+import com.ozs.service.entity.vo.MsgAlarmResp;
+import com.ozs.service.service.BaseRailwayManagementService;
+import com.ozs.service.service.BaseUserService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+/**
+ * @Author : sunhh
+ * @create 2023/3/13 22:08
+ */
+@Slf4j
+@Controller
+@RequestMapping("/sdk")
+public class WebSocketConteoller extends BaseController {
+
+    @Autowired
+    private WebSocketServer webSocketServer;
+    @Autowired
+    private BaseUserService baseUserService;
+    @Resource
+    private BaseRailwayManagementService baseRailwayManagementService;
+
+    @ResponseBody
+    @PostMapping("/publish")
+    public Map publish(@RequestBody BaseCameraManagement baseCameraManagement) {
+        // 获取推送人ID列表
+        Set<String> set = baseUserService.getUserIdList(baseCameraManagement.getCreateBy(), baseCameraManagement.getDeptId());
+        // List<String> list = new ArrayList<>(set);
+        String[] list = set.toArray(new String[set.size()]);
+        MsgAlarmResp msgAlarmResp = new MsgAlarmResp();
+        String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
+        String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
+        String endMile = begin + "-" + end;
+        msgAlarmResp.setBeginMile(endMile);
+        String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
+        msgAlarmResp.setAlarmMile(mile);
+        String cameraCode = baseCameraManagement.getCameraCode();
+        String cameraName = baseRailwayManagementService.getCameraNameByCameraCode(cameraCode);
+        msgAlarmResp.setRailwayName(cameraName);
+        // 推送消息reqMsgAlarmVo
+        webSocketServer.sendMoreMessage(list, objStr(msgAlarmResp));
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("code", 200);
+        return map;
+    }
+
+    private String objStr(MsgAlarmResp msgAlarmResp) {
+        JSONObject obj = new JSONObject();
+        obj.put("pipelineId", msgAlarmResp); //流水线ID
+        log.info("【websocket消息】 单点消息:" + obj.toJSONString());
+        return obj.toJSONString();
+    }
+}

+ 3 - 81
hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -59,12 +59,6 @@ public class GeoHazardMonitorTokenController {
     SvcAddressService svcAddressService;
     @Autowired
     BaseCameraManagementService baseCameraManagementService;
-    @Autowired
-    private WebSocketServer webSocketServer;
-    @Autowired
-    private BaseUserService baseUserService;
-    @Resource
-    private BaseRailwayManagementService baseRailwayManagementService;
 
     /**
      * 测试app消息推送
@@ -85,35 +79,6 @@ public class GeoHazardMonitorTokenController {
         return "推送成功!";
     }
 
-    /**
-     * 测试webSocket消息推送
-     *
-     * @return
-     */
-    @PostMapping("/webSocketT")
-    public String webSocketT(@RequestBody SvcAddress svcAddress) {
-        // 获取推送人ID列表
-//        Set<String> set = baseUserService.getUserIdList(baseCameraManagement.getCreateBy(), baseCameraManagement.getDeptId());
-//        String[] list = set.toArray(new String[set.size()]);
-        List<String> list = new ArrayList<>();
-        list.add("1");
-
-        // 初始化 -> 运行中 -> 成功或失败
-        try {
-            // 1、初始化
-            webSocketServer.sendMoreMessage(list, objStrString("消息推送", 1));
-            Thread.sleep(3 * 1000);
-            // 2、运行中
-            webSocketServer.sendMoreMessage(list, objStrString("消息推送", 2));
-            Thread.sleep(5 * 1000);
-            // 3、成功或失败
-            webSocketServer.sendMoreMessage(list, Math.random() * 10 > 5 ? objStrString("消息推送", 6) : objStrString("消息推送", 7));
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-            throw new RuntimeException("构建失败");
-        }
-        return "推送成功!";
-    }
 
     /**
      * 获取web访问令牌
@@ -182,39 +147,10 @@ public class GeoHazardMonitorTokenController {
                 wrapper.eq(BaseCameraManagement::getCameraCode, reqMsgAlarmVo.getAlarmCamera());
             }
             BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(wrapper);
-            // 获取推送人ID列表
-            Set<String> set = baseUserService.getUserIdList(baseCameraManagement.getCreateBy(), baseCameraManagement.getDeptId());
-            List<String> list = new ArrayList<>(set);
-//            String[] list = set.toArray(new String[set.size()]);
-            MsgAlarmResp msgAlarmResp = new MsgAlarmResp();
-            String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
-            String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
-            String endMile = begin + "-" + end;
-            msgAlarmResp.setBeginMile(endMile);
-            String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
-            msgAlarmResp.setAlarmMile(mile);
-            String cameraCode = baseCameraManagement.getCameraCode();
-            String cameraName = baseRailwayManagementService.getCameraNameByCameraCode(cameraCode);
-            msgAlarmResp.setRailwayName(cameraName);
-            // 推送消息reqMsgAlarmVo
-            // 初始化 -> 运行中 -> 成功或失败
-            try {
-                // 1、初始化
-                webSocketServer.sendMoreMessage(list, objStr(msgAlarmResp, 1));
-                Thread.sleep(3 * 1000);
-                // 2、运行中
-                webSocketServer.sendMoreMessage(list, objStr(msgAlarmResp, 2));
-                Thread.sleep(5 * 1000);
-                // 3、成功或失败
-                webSocketServer.sendMoreMessage(list, Math.random() * 10 > 5 ? objStr(msgAlarmResp, 6) : objStr(msgAlarmResp, 7));
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-                throw new RuntimeException("构建失败");
-            }
             // app 消息推送
-            List<String> alias = new ArrayList<String>();
-            alias.add("sunhh");
-            JPushUtil.sendToRegistrationId(alias, "中奖通知!!!!", "中奖通知!!!!!", "恭喜你中了100000000个亿!!!!", "https://www.baidu.com");
+//            List<String> alias = new ArrayList<String>();
+//            alias.add("sunhh");
+//            JPushUtil.sendToRegistrationId(alias, "中奖通知!!!!", "中奖通知!!!!!", "恭喜你中了100000000个亿!!!!", "https://www.baidu.com");
             log.info("baseCameraManagement:{}", baseCameraManagement);
             if (ObjectUtils.isEmpty(reqMsgAlarmVo.getLineDir())) {
                 reqMsgAlarmVo.setLineDir(baseCameraManagement.getLineDir());
@@ -278,20 +214,6 @@ public class GeoHazardMonitorTokenController {
         }
     }
 
-    private String objStr(MsgAlarmResp msgAlarmResp, int status) {
-        JSONObject obj = new JSONObject();
-        obj.put("pipelineId", msgAlarmResp); //流水线ID
-        obj.put("status", status);
-        return obj.toJSONString();
-    }
-
-    private String objStrString(String msgAlarmResp, int status) {
-        JSONObject obj = new JSONObject();
-        obj.put("pipelineId", msgAlarmResp); //流水线ID
-        obj.put("status", status);
-        return obj.toJSONString();
-    }
-
     /**
      * 设备状态数据传输
      *