Commit a3c7c285cd433b127d0902f250705df985d81120
1 parent
9ade224a
增加消息确认接口
Showing
2 changed files
with
15 additions
and
0 deletions
src/main/java/com/huaheng/pc/stompwebsocket/controller/WebSocketController.java
@@ -3,9 +3,11 @@ package com.huaheng.pc.stompwebsocket.controller; | @@ -3,9 +3,11 @@ package com.huaheng.pc.stompwebsocket.controller; | ||
3 | import com.huaheng.pc.stompwebsocket.WebsocketConstants; | 3 | import com.huaheng.pc.stompwebsocket.WebsocketConstants; |
4 | import com.huaheng.pc.stompwebsocket.domain.StompPayload; | 4 | import com.huaheng.pc.stompwebsocket.domain.StompPayload; |
5 | import com.huaheng.pc.stompwebsocket.service.StompWebSocketServiceImpl; | 5 | import com.huaheng.pc.stompwebsocket.service.StompWebSocketServiceImpl; |
6 | +import org.springframework.messaging.Message; | ||
6 | import org.springframework.messaging.handler.annotation.MessageMapping; | 7 | import org.springframework.messaging.handler.annotation.MessageMapping; |
7 | import org.springframework.messaging.handler.annotation.SendTo; | 8 | import org.springframework.messaging.handler.annotation.SendTo; |
8 | import org.springframework.stereotype.Controller; | 9 | import org.springframework.stereotype.Controller; |
10 | +import org.springframework.util.LinkedMultiValueMap; | ||
9 | import org.springframework.web.bind.annotation.GetMapping; | 11 | import org.springframework.web.bind.annotation.GetMapping; |
10 | import org.springframework.web.bind.annotation.PostMapping; | 12 | import org.springframework.web.bind.annotation.PostMapping; |
11 | import org.springframework.web.bind.annotation.RequestBody; | 13 | import org.springframework.web.bind.annotation.RequestBody; |
@@ -42,6 +44,15 @@ public class WebSocketController { | @@ -42,6 +44,15 @@ public class WebSocketController { | ||
42 | } | 44 | } |
43 | 45 | ||
44 | /** | 46 | /** |
47 | + * 服务器接收confirm消息 | ||
48 | + */ | ||
49 | + @MessageMapping("/websocket/message/confirm") | ||
50 | + public void handleConfirmMsgByWebsocket(Message headers){ | ||
51 | + String msg_id = ((LinkedMultiValueMap<String, String>) headers.getHeaders().get("nativeHeaders")).get("msg-id").get(0); | ||
52 | + stompWebSocketService.confirmMsg(msg_id); | ||
53 | + } | ||
54 | + | ||
55 | + /** | ||
45 | * 服务器接收httpget上行的普通文本消息,再通过websocket广播出去 | 56 | * 服务器接收httpget上行的普通文本消息,再通过websocket广播出去 |
46 | * http://127.0.0.1:8888/wms/websocket/message/string?msg=huaheng_robot | 57 | * http://127.0.0.1:8888/wms/websocket/message/string?msg=huaheng_robot |
47 | */ | 58 | */ |
src/main/java/com/huaheng/pc/stompwebsocket/service/StompWebSocketServiceImpl.java
@@ -76,6 +76,10 @@ public class StompWebSocketServiceImpl extends ServiceImpl<StompMessageMapper, S | @@ -76,6 +76,10 @@ public class StompWebSocketServiceImpl extends ServiceImpl<StompMessageMapper, S | ||
76 | messaging.convertAndSendToUser(user, topic, payload.getData(), headers); | 76 | messaging.convertAndSendToUser(user, topic, payload.getData(), headers); |
77 | } | 77 | } |
78 | 78 | ||
79 | + public void confirmMsg(String msg_id){ | ||
80 | + removeById(msg_id); | ||
81 | + } | ||
82 | + | ||
79 | /** | 83 | /** |
80 | * 将离线后的消息发送给用户 | 84 | * 将离线后的消息发送给用户 |
81 | * @param user | 85 | * @param user |