From c86e794fbd49c90a3abd953be65f100de26e24d6 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期六, 18 四月 2026 17:39:03 +0800
Subject: [PATCH] [feat] 接收任务,socket推送任务

---
 xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/controller/WebSocketController.java |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/controller/WebSocketController.java b/xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/controller/WebSocketController.java
index ecbe3c1..c5cb1b8 100644
--- a/xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/controller/WebSocketController.java
+++ b/xp-robotaxi-push-message-boot/src/main/java/com/xiaopeng/pushMessage/webSocket/controller/WebSocketController.java
@@ -1,6 +1,11 @@
 package com.xiaopeng.pushMessage.webSocket.controller;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
 import com.xiaopeng.api.dto.pushMessage.SendMessageDTO;
+import com.xiaopeng.api.vo.TaskVO;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.web.controller.BaseController;
 import com.xiaopeng.pushMessage.webSocket.service.WebSocketUserService;
@@ -10,6 +15,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.PostConstruct;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -27,6 +33,16 @@
 
     @Autowired
     private WebSocketUserService webSocketUserService;
+
+    private ObjectMapper om;
+
+    @PostConstruct
+    void setupObjectMapper() {
+        // 允许对象忽略json中不存在的属性
+        om = new ObjectMapper();
+        om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        om.registerModule(new JavaTimeModule());
+    }
 
     // ==================== 基于XpAppUser的WebSocket接口 ====================
 
@@ -355,4 +371,18 @@
             return R.fail("获取在线用户列表失败: " + e.getMessage());
         }
     }
+
+
+    /**
+     * 运维工单app推送
+     */
+    @PostMapping("/inner/websocket/push/task")
+    public R<?> pushTask(@RequestBody TaskVO vo) throws JsonProcessingException {
+
+        String handleUserId = vo.getHandleUserId();
+        String msg = om.writeValueAsString(vo);
+        webSocketUserService.sendMessageToUser(handleUserId, msg);
+        return R.ok();
+
+    }
 }
\ No newline at end of file

--
Gitblit v1.7.1