调整框架,删除不必要的组件

This commit is contained in:
2025-05-22 18:02:25 +08:00
parent 49a339292b
commit ce2a28e154
6 changed files with 15 additions and 111 deletions

View File

@@ -0,0 +1,2 @@
com.tashow.cloud.tenant.config.TenantRpcAutoConfiguration
com.tashow.cloud.tenant.config.TenantAutoConfiguration

View File

@@ -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)

View File

@@ -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);
} }

View File

@@ -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";
}
}

View File

@@ -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;
}

View File

@@ -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;
}