diff --git a/tashow-framework/tashow-framework-tenant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/tashow-framework/tashow-framework-tenant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..3ec3751 --- /dev/null +++ b/tashow-framework/tashow-framework-tenant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,2 @@ +com.tashow.cloud.tenant.config.TenantRpcAutoConfiguration +com.tashow.cloud.tenant.config.TenantAutoConfiguration diff --git a/tashow-framework/tashow-framework-websocket/src/main/java/com/tashow/cloud/websocket/config/WebSocketAutoConfiguration.java b/tashow-framework/tashow-framework-websocket/src/main/java/com/tashow/cloud/websocket/config/WebSocketAutoConfiguration.java index ef7d63f..3180f49 100644 --- a/tashow-framework/tashow-framework-websocket/src/main/java/com/tashow/cloud/websocket/config/WebSocketAutoConfiguration.java +++ b/tashow-framework/tashow-framework-websocket/src/main/java/com/tashow/cloud/websocket/config/WebSocketAutoConfiguration.java @@ -13,6 +13,7 @@ import com.tashow.cloud.websocket.core.session.WebSocketSessionManagerImpl; import org.springframework.amqp.core.TopicExchange; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; @@ -29,6 +30,7 @@ import java.util.List; * * @author xingyu4j */ +@AutoConfiguration @EnableWebSocket // 开启 websocket @ConditionalOnProperty(prefix = "tashow.websocket", value = "enable", matchIfMissing = true) // 允许使用 yudao.websocket.enable=false 禁用 websocket @EnableConfigurationProperties(WebSocketProperties.class) diff --git a/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/api/websocket/WebSocketSenderApiImpl.java b/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/api/websocket/WebSocketSenderApiImpl.java index 9833991..334748a 100644 --- a/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/api/websocket/WebSocketSenderApiImpl.java +++ b/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/api/websocket/WebSocketSenderApiImpl.java @@ -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 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); } diff --git a/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/websocket/DemoWebSocketMessageListener.java b/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/websocket/DemoWebSocketMessageListener.java deleted file mode 100644 index fafcfa4..0000000 --- a/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/websocket/DemoWebSocketMessageListener.java +++ /dev/null @@ -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 { - - @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"; - } - -} diff --git a/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/websocket/message/DemoReceiveMessage.java b/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/websocket/message/DemoReceiveMessage.java deleted file mode 100644 index f956ef9..0000000 --- a/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/websocket/message/DemoReceiveMessage.java +++ /dev/null @@ -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; - -} diff --git a/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/websocket/message/DemoSendMessage.java b/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/websocket/message/DemoSendMessage.java deleted file mode 100644 index 3ed3d98..0000000 --- a/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/websocket/message/DemoSendMessage.java +++ /dev/null @@ -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; - -}