加发送websocket api
parent
942f265592
commit
a4aadfd566
@ -0,0 +1,33 @@
|
|||||||
|
package com.baiye.api;
|
||||||
|
|
||||||
|
import com.baiye.http.CommonResponse;
|
||||||
|
import com.baiye.model.dto.SendWebSocketDTO;
|
||||||
|
import com.baiye.service.WebSocketService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wujingtao
|
||||||
|
* @date 2021/12/30
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/api")
|
||||||
|
@Slf4j
|
||||||
|
@Api(tags = "websocket消息")
|
||||||
|
public class WebSocketController {
|
||||||
|
@Resource
|
||||||
|
private WebSocketService webSocketService;
|
||||||
|
|
||||||
|
@PostMapping("/websocket/message")
|
||||||
|
@ApiOperation("发送消息")
|
||||||
|
public CommonResponse<Object> sendWebSocket(@RequestBody SendWebSocketDTO sendWebSocketDTO) {
|
||||||
|
return webSocketService.sendWebSocket(sendWebSocketDTO);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
package com.baiye.service;
|
||||||
|
|
||||||
|
import com.baiye.http.CommonResponse;
|
||||||
|
import com.baiye.model.dto.SendWebSocketDTO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wujingtao
|
||||||
|
* @date 2021/12/30
|
||||||
|
*/
|
||||||
|
public interface WebSocketService {
|
||||||
|
/**
|
||||||
|
* 发送消息
|
||||||
|
*
|
||||||
|
* @param sendWebSocketDTO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
CommonResponse<Object> sendWebSocket(SendWebSocketDTO sendWebSocketDTO);
|
||||||
|
}
|
@ -0,0 +1,41 @@
|
|||||||
|
package com.baiye.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.baiye.constant.DefaultNumberConstants;
|
||||||
|
import com.baiye.http.CommonResponse;
|
||||||
|
import com.baiye.model.dto.SendWebSocketDTO;
|
||||||
|
import com.baiye.service.WebSocketService;
|
||||||
|
import com.baiye.socket.WebSocketServer;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wujingtao
|
||||||
|
* @date 2021/12/30
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class WebSocketServiceImpl implements WebSocketService {
|
||||||
|
@Resource
|
||||||
|
private WebSocketServer webSocketServer;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResponse<Object> sendWebSocket(SendWebSocketDTO sendWebSocketDTO) {
|
||||||
|
try {
|
||||||
|
if (CollUtil.isEmpty(sendWebSocketDTO.getUserIds())) {
|
||||||
|
SendWebSocketDTO.SendMessage data = sendWebSocketDTO.getData();
|
||||||
|
data.setCode(DefaultNumberConstants.TWO_HUNDRED);
|
||||||
|
webSocketServer.broadCastInfo(JSONUtil.toJsonStr(data));
|
||||||
|
} else {
|
||||||
|
webSocketServer.sendMessage(sendWebSocketDTO.getData(), sendWebSocketDTO.getUserIds());
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("Method 【sendWebSocket】发送 websocket 错误 :{}", e.getMessage());
|
||||||
|
return CommonResponse.createByErrorMessage(e.getMessage());
|
||||||
|
}
|
||||||
|
return CommonResponse.createBySuccess();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue