Commit a3c7c285cd433b127d0902f250705df985d81120

Authored by 周峰
1 parent 9ade224a

增加消息确认接口

src/main/java/com/huaheng/pc/stompwebsocket/controller/WebSocketController.java
... ... @@ -3,9 +3,11 @@ package com.huaheng.pc.stompwebsocket.controller;
3 3 import com.huaheng.pc.stompwebsocket.WebsocketConstants;
4 4 import com.huaheng.pc.stompwebsocket.domain.StompPayload;
5 5 import com.huaheng.pc.stompwebsocket.service.StompWebSocketServiceImpl;
  6 +import org.springframework.messaging.Message;
6 7 import org.springframework.messaging.handler.annotation.MessageMapping;
7 8 import org.springframework.messaging.handler.annotation.SendTo;
8 9 import org.springframework.stereotype.Controller;
  10 +import org.springframework.util.LinkedMultiValueMap;
9 11 import org.springframework.web.bind.annotation.GetMapping;
10 12 import org.springframework.web.bind.annotation.PostMapping;
11 13 import org.springframework.web.bind.annotation.RequestBody;
... ... @@ -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 56 * 服务器接收httpget上行的普通文本消息,再通过websocket广播出去
46 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&lt;StompMessageMapper, S
76 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 85 * @param user
... ...