拆分think模块包

This commit is contained in:
2024-08-13 17:51:18 +08:00
parent 9dc17cd63e
commit 09a752e12a
1547 changed files with 88305 additions and 10329 deletions
@@ -0,0 +1,104 @@
package com.gxwebsoft.common.core.socketio.handler;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.corundumstudio.socketio.AckRequest;
import com.corundumstudio.socketio.SocketIOClient;
import com.corundumstudio.socketio.annotation.OnConnect;
import com.corundumstudio.socketio.annotation.OnDisconnect;
import com.corundumstudio.socketio.annotation.OnEvent;
import com.gxwebsoft.common.core.config.ConfigProperties;
import com.gxwebsoft.common.core.socketio.cache.ClientCache;
import com.gxwebsoft.common.system.entity.ChatMessage;
import com.gxwebsoft.common.system.service.ChatConversationService;
import com.gxwebsoft.common.system.service.ChatMessageService;
import com.gxwebsoft.common.system.service.UserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.UUID;
/**
* socket处理拦截器
* @author machenike
*/
@Component
public class SocketIOHandler {
@Resource
private ChatMessageService messageService;
@Resource
private ChatConversationService conversationService;
@Resource
private ClientCache clientCache;
@Resource
private UserService userService;
@Resource
private ConfigProperties configProperties;
/**
* 日志
*/
private final static Logger logger = LoggerFactory.getLogger(SocketIOHandler.class);
/**
* 客户端连上socket服务器时执行此事件
* @param client
*/
@OnConnect
public void onConnect(SocketIOClient client) {
String userId = client.getHandshakeData().getSingleUrlParam("userId");
logger.debug("socket client auth success [userId="+userId+"]");
UUID sessionId = client.getSessionId();
// 管理员
String isAdmin = client.getHandshakeData().getSingleUrlParam("isAdmin");
if(StringUtils.isNotBlank(isAdmin)){
// todo 权限验证
clientCache.saveClient("admin",sessionId, client);
}else {
clientCache.saveClient(userId,sessionId, client);
}
System.out.println("userId: "+userId+"连接建立成功 - "+sessionId);
logger.info("当前在线人数:{}",clientCache.getOnLineCount());
}
/**
* 客户端断开socket服务器时执行此事件
* @param client
*/
@OnDisconnect
public void onDisconnect(SocketIOClient client) {
String userId = client.getHandshakeData().getSingleUrlParam("userId");
UUID sessionId = client.getSessionId();
clientCache.deleteSessionClientByUserId(userId,sessionId);
System.out.println("userId: "+userId+"连接关闭成功 - "+sessionId);
}
/**
*
* @param client
*/
@OnEvent( value = "message")
@Transactional
public void onMessage(SocketIOClient client, AckRequest request, ChatMessage message) {
}
}