调整框架,删除不必要的组件
This commit is contained in:
@@ -0,0 +1,2 @@
|
|||||||
|
com.tashow.cloud.tenant.config.TenantRpcAutoConfiguration
|
||||||
|
com.tashow.cloud.tenant.config.TenantAutoConfiguration
|
||||||
@@ -13,6 +13,7 @@ import com.tashow.cloud.websocket.core.session.WebSocketSessionManagerImpl;
|
|||||||
import org.springframework.amqp.core.TopicExchange;
|
import org.springframework.amqp.core.TopicExchange;
|
||||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
@@ -29,6 +30,7 @@ import java.util.List;
|
|||||||
*
|
*
|
||||||
* @author xingyu4j
|
* @author xingyu4j
|
||||||
*/
|
*/
|
||||||
|
@AutoConfiguration
|
||||||
@EnableWebSocket // 开启 websocket
|
@EnableWebSocket // 开启 websocket
|
||||||
@ConditionalOnProperty(prefix = "tashow.websocket", value = "enable", matchIfMissing = true) // 允许使用 yudao.websocket.enable=false 禁用 websocket
|
@ConditionalOnProperty(prefix = "tashow.websocket", value = "enable", matchIfMissing = true) // 允许使用 yudao.websocket.enable=false 禁用 websocket
|
||||||
@EnableConfigurationProperties(WebSocketProperties.class)
|
@EnableConfigurationProperties(WebSocketProperties.class)
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.tashow.cloud.infra.api.websocket;
|
package com.tashow.cloud.infra.api.websocket;
|
||||||
|
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import com.tashow.cloud.common.pojo.CommonResult;
|
import com.tashow.cloud.common.pojo.CommonResult;
|
||||||
import com.tashow.cloud.infraapi.api.websocket.WebSocketSenderApi;
|
import com.tashow.cloud.infraapi.api.websocket.WebSocketSenderApi;
|
||||||
import com.tashow.cloud.infraapi.api.websocket.dto.WebSocketSendReqDTO;
|
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 调用
|
@RestController // 提供 RESTful API 接口,给 Feign 调用
|
||||||
@Validated
|
@Validated
|
||||||
public class WebSocketSenderApiImpl implements WebSocketSenderApi {
|
public class WebSocketSenderApiImpl implements WebSocketSenderApi {
|
||||||
|
//
|
||||||
@Resource
|
@Resource
|
||||||
private WebSocketMessageSender webSocketMessageSender;
|
private WebSocketMessageSender webSocketMessageSender;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResult<Boolean> send(WebSocketSendReqDTO message) {
|
public CommonResult<Boolean> send(WebSocketSendReqDTO message) {
|
||||||
if (StrUtil.isNotEmpty(message.getSessionId())) {
|
// if (StrUtil.isNotEmpty(message.getSessionId())) {
|
||||||
webSocketMessageSender.send(message.getSessionId(),
|
// webSocketMessageSender.send(message.getSessionId(),
|
||||||
message.getMessageType(), message.getMessageContent());
|
// message.getMessageType(), message.getMessageContent());
|
||||||
} else if (message.getUserType() != null && message.getUserId() != null) {
|
// } else if (message.getUserType() != null && message.getUserId() != null) {
|
||||||
webSocketMessageSender.send(message.getUserType(), message.getUserId(),
|
// webSocketMessageSender.send(message.getUserType(), message.getUserId(),
|
||||||
message.getMessageType(), message.getMessageContent());
|
// message.getMessageType(), message.getMessageContent());
|
||||||
} else if (message.getUserType() != null) {
|
// } else if (message.getUserType() != null) {
|
||||||
webSocketMessageSender.send(message.getUserType(),
|
// webSocketMessageSender.send(message.getUserType(),
|
||||||
message.getMessageType(), message.getMessageContent());
|
// message.getMessageType(), message.getMessageContent());
|
||||||
}
|
// }
|
||||||
return success(true);
|
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