调整框架,删除不必要的组件
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package com.tashow.cloud.infra.api.websocket;
|
||||
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.tashow.cloud.common.pojo.CommonResult;
|
||||
import com.tashow.cloud.infraapi.api.websocket.WebSocketSenderApi;
|
||||
import com.tashow.cloud.infraapi.api.websocket.dto.WebSocketSendReqDTO;
|
||||
@@ -15,22 +14,22 @@ import static com.tashow.cloud.common.pojo.CommonResult.success;
|
||||
@RestController // 提供 RESTful API 接口,给 Feign 调用
|
||||
@Validated
|
||||
public class WebSocketSenderApiImpl implements WebSocketSenderApi {
|
||||
|
||||
//
|
||||
@Resource
|
||||
private WebSocketMessageSender webSocketMessageSender;
|
||||
|
||||
@Override
|
||||
public CommonResult<Boolean> send(WebSocketSendReqDTO message) {
|
||||
if (StrUtil.isNotEmpty(message.getSessionId())) {
|
||||
webSocketMessageSender.send(message.getSessionId(),
|
||||
message.getMessageType(), message.getMessageContent());
|
||||
} else if (message.getUserType() != null && message.getUserId() != null) {
|
||||
webSocketMessageSender.send(message.getUserType(), message.getUserId(),
|
||||
message.getMessageType(), message.getMessageContent());
|
||||
} else if (message.getUserType() != null) {
|
||||
webSocketMessageSender.send(message.getUserType(),
|
||||
message.getMessageType(), message.getMessageContent());
|
||||
}
|
||||
// if (StrUtil.isNotEmpty(message.getSessionId())) {
|
||||
// webSocketMessageSender.send(message.getSessionId(),
|
||||
// message.getMessageType(), message.getMessageContent());
|
||||
// } else if (message.getUserType() != null && message.getUserId() != null) {
|
||||
// webSocketMessageSender.send(message.getUserType(), message.getUserId(),
|
||||
// message.getMessageType(), message.getMessageContent());
|
||||
// } else if (message.getUserType() != null) {
|
||||
// webSocketMessageSender.send(message.getUserType(),
|
||||
// message.getMessageType(), message.getMessageContent());
|
||||
// }
|
||||
return success(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
package com.tashow.cloud.infra.websocket;
|
||||
|
||||
import com.tashow.cloud.common.enums.UserTypeEnum;
|
||||
import com.tashow.cloud.infra.websocket.message.DemoSendMessage;
|
||||
import com.tashow.cloud.infra.websocket.message.DemoReceiveMessage;
|
||||
import com.tashow.cloud.websocket.core.listener.WebSocketMessageListener;
|
||||
import com.tashow.cloud.websocket.core.sender.WebSocketMessageSender;
|
||||
import com.tashow.cloud.websocket.core.util.WebSocketFrameworkUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.socket.WebSocketSession;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
/**
|
||||
* WebSocket 示例:单发消息
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Component
|
||||
public class DemoWebSocketMessageListener implements WebSocketMessageListener<DemoSendMessage> {
|
||||
|
||||
@Resource
|
||||
private WebSocketMessageSender webSocketMessageSender;
|
||||
|
||||
@Override
|
||||
public void onMessage(WebSocketSession session, DemoSendMessage message) {
|
||||
Long fromUserId = WebSocketFrameworkUtils.getLoginUserId(session);
|
||||
// 情况一:单发
|
||||
if (message.getToUserId() != null) {
|
||||
DemoReceiveMessage toMessage = new DemoReceiveMessage().setFromUserId(fromUserId)
|
||||
.setText(message.getText()).setSingle(true);
|
||||
webSocketMessageSender.sendObject(UserTypeEnum.ADMIN.getValue(), message.getToUserId(), // 给指定用户
|
||||
"demo-message-receive", toMessage);
|
||||
return;
|
||||
}
|
||||
// 情况二:群发
|
||||
DemoReceiveMessage toMessage = new DemoReceiveMessage().setFromUserId(fromUserId)
|
||||
.setText(message.getText()).setSingle(false);
|
||||
webSocketMessageSender.sendObject(UserTypeEnum.ADMIN.getValue(), // 给所有用户
|
||||
"demo-message-receive", toMessage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getType() {
|
||||
return "demo-message-send";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
package com.tashow.cloud.infra.websocket.message;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 示例:server -> client 同步消息
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Data
|
||||
public class DemoReceiveMessage {
|
||||
|
||||
/**
|
||||
* 接收人的编号
|
||||
*/
|
||||
private Long fromUserId;
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
private String text;
|
||||
|
||||
/**
|
||||
* 是否单聊
|
||||
*/
|
||||
private Boolean single;
|
||||
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package com.tashow.cloud.infra.websocket.message;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 示例:client -> server 发送消息
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Data
|
||||
public class DemoSendMessage {
|
||||
|
||||
/**
|
||||
* 发送给谁
|
||||
*
|
||||
* 如果为空,说明发送给所有人
|
||||
*/
|
||||
private Long toUserId;
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
private String text;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user