|
|
@@ -1,6 +1,10 @@
|
|
|
package com.usoftchina.saas.socket.controller;
|
|
|
|
|
|
import com.usoftchina.saas.base.Result;
|
|
|
+import com.usoftchina.saas.exception.ExceptionCode;
|
|
|
+import com.usoftchina.saas.socket.api.SocketMessageApi;
|
|
|
+import com.usoftchina.saas.socket.dto.ClientMessage;
|
|
|
+import com.usoftchina.saas.utils.BizAssert;
|
|
|
import org.springframework.messaging.simp.SimpMessagingTemplate;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
@@ -12,7 +16,7 @@ import javax.annotation.Resource;
|
|
|
*/
|
|
|
@RestController
|
|
|
@RequestMapping("/message")
|
|
|
-public class MessageController {
|
|
|
+public class MessageController implements SocketMessageApi{
|
|
|
|
|
|
@Resource
|
|
|
private SimpMessagingTemplate simpMessagingTemplate;
|
|
|
@@ -20,39 +24,41 @@ public class MessageController {
|
|
|
/**
|
|
|
* 发送信息给指定用户
|
|
|
*
|
|
|
- * @param clientId
|
|
|
- * @param dest
|
|
|
* @param message
|
|
|
* @return
|
|
|
*/
|
|
|
+ @Override
|
|
|
@PostMapping("/clients")
|
|
|
- public Result sendToClient(@RequestParam String clientId, String dest, @RequestParam String message) {
|
|
|
+ public Result sendToClient(@RequestBody ClientMessage message) {
|
|
|
+ BizAssert.hasText(message.getClientId(), ExceptionCode.ILLEGAL_ARGUMENTS);
|
|
|
+ BizAssert.hasText(message.getDest(), ExceptionCode.ILLEGAL_ARGUMENTS);
|
|
|
/**
|
|
|
* 前端使用
|
|
|
* <pre>
|
|
|
* stomp.subscribe('/clients/{clientId}/{dest}', function(message){});
|
|
|
* </pre>
|
|
|
*/
|
|
|
- simpMessagingTemplate.convertAndSendToUser(clientId, dest, message);
|
|
|
+ simpMessagingTemplate.convertAndSendToUser(message.getClientId(), message.getDest(), message.getMessage());
|
|
|
return Result.success();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 广播信息
|
|
|
*
|
|
|
- * @param dest
|
|
|
* @param message
|
|
|
* @return
|
|
|
*/
|
|
|
+ @Override
|
|
|
@PostMapping("/clients/all")
|
|
|
- public Result sendToAllClients(String dest, @RequestParam String message) {
|
|
|
+ public Result sendToAllClients(@RequestBody ClientMessage message) {
|
|
|
+ BizAssert.hasText(message.getDest(), ExceptionCode.ILLEGAL_ARGUMENTS);
|
|
|
/**
|
|
|
* 前端使用
|
|
|
* <pre>
|
|
|
* stomp.subscribe('/clients/{dest}', function(message){});
|
|
|
* </pre>
|
|
|
*/
|
|
|
- simpMessagingTemplate.convertAndSend(dest, message);
|
|
|
+ simpMessagingTemplate.convertAndSend(message.getDest(), message.getMessage());
|
|
|
return Result.success();
|
|
|
}
|
|
|
}
|