From a3c7c285cd433b127d0902f250705df985d81120 Mon Sep 17 00:00:00 2001 From: zhoufeng <27208084@qq.com> Date: Tue, 11 May 2021 15:36:51 +0800 Subject: [PATCH] 增加消息确认接口 --- src/main/java/com/huaheng/pc/stompwebsocket/controller/WebSocketController.java | 11 +++++++++++ src/main/java/com/huaheng/pc/stompwebsocket/service/StompWebSocketServiceImpl.java | 4 ++++ 2 files changed, 15 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/huaheng/pc/stompwebsocket/controller/WebSocketController.java b/src/main/java/com/huaheng/pc/stompwebsocket/controller/WebSocketController.java index eb16f32..ce9d88a 100644 --- a/src/main/java/com/huaheng/pc/stompwebsocket/controller/WebSocketController.java +++ b/src/main/java/com/huaheng/pc/stompwebsocket/controller/WebSocketController.java @@ -3,9 +3,11 @@ package com.huaheng.pc.stompwebsocket.controller; import com.huaheng.pc.stompwebsocket.WebsocketConstants; import com.huaheng.pc.stompwebsocket.domain.StompPayload; import com.huaheng.pc.stompwebsocket.service.StompWebSocketServiceImpl; +import org.springframework.messaging.Message; import org.springframework.messaging.handler.annotation.MessageMapping; import org.springframework.messaging.handler.annotation.SendTo; import org.springframework.stereotype.Controller; +import org.springframework.util.LinkedMultiValueMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -42,6 +44,15 @@ public class WebSocketController { } /** + * 服务器接收confirm消息 + */ + @MessageMapping("/websocket/message/confirm") + public void handleConfirmMsgByWebsocket(Message headers){ + String msg_id = ((LinkedMultiValueMap<String, String>) headers.getHeaders().get("nativeHeaders")).get("msg-id").get(0); + stompWebSocketService.confirmMsg(msg_id); + } + + /** * 服务器接收httpget上行的普通文本消息,再通过websocket广播出去 * http://127.0.0.1:8888/wms/websocket/message/string?msg=huaheng_robot */ diff --git a/src/main/java/com/huaheng/pc/stompwebsocket/service/StompWebSocketServiceImpl.java b/src/main/java/com/huaheng/pc/stompwebsocket/service/StompWebSocketServiceImpl.java index 732a0c4..1c0e29b 100644 --- a/src/main/java/com/huaheng/pc/stompwebsocket/service/StompWebSocketServiceImpl.java +++ b/src/main/java/com/huaheng/pc/stompwebsocket/service/StompWebSocketServiceImpl.java @@ -76,6 +76,10 @@ public class StompWebSocketServiceImpl extends ServiceImpl<StompMessageMapper, S messaging.convertAndSendToUser(user, topic, payload.getData(), headers); } + public void confirmMsg(String msg_id){ + removeById(msg_id); + } + /** * 将离线后的消息发送给用户 * @param user -- libgit2 0.22.2