09-14-netty优化

This commit is contained in:
2025-09-14 17:40:52 +08:00
parent f7cd344a0b
commit 26cf862d6e
2 changed files with 34 additions and 12 deletions

View File

@ -178,7 +178,7 @@ public class ChatServerHandler extends SimpleChannelInboundHandler<TextWebSocket
message.put("type", "3");
message.put("unReadCount", roomCounts);
log.info("发送所有未读消息:{}",message);
if(!roomCounts.isEmpty()) {
if(message.get("unReadCount") != null && !roomCounts.isEmpty()) {
sendMessage(ctx, message.toJSONString());
}
}
@ -188,32 +188,45 @@ public class ChatServerHandler extends SimpleChannelInboundHandler<TextWebSocket
chatGroup.setType(String.valueOf(2));
chatGroup.setMembers("[99, "+loginUser.getUserId()+"]");
chatGroupService.save(chatGroup);
//初次创建系统房间后 发送一条初始化信息
sendSystemMessageToUser(loginUser.getUserId(),"注册已顺利完成,为确保您正常参与工作,请联系分包管理员确认所属项目及班组。","0");
}
//考勤
if (!isHaveAttendanceRoom){
ChatGroup chatGroup = new ChatGroup();
chatGroup.setType(String.valueOf(2));
chatGroup.setType(String.valueOf(3));
chatGroup.setMembers("[100, "+loginUser.getUserId()+"]");
chatGroupService.save(chatGroup);
}
//安全
if (!isHaveSafeRoom){
ChatGroup chatGroup = new ChatGroup();
chatGroup.setType(String.valueOf(2));
chatGroup.setType(String.valueOf(4));
chatGroup.setMembers("[101, "+loginUser.getUserId()+"]");
chatGroupService.save(chatGroup);
}
//质量
if (!isHaveQualityRoom){
ChatGroup chatGroup = new ChatGroup();
chatGroup.setType(String.valueOf(2));
chatGroup.setType(String.valueOf(5));
chatGroup.setMembers("[102, "+loginUser.getUserId()+"]");
chatGroupService.save(chatGroup);
}
//等待全部创建完成后 初次创建系统房间后 发送一条初始化信息
if (!isHaveSystemRoom) {
sendSystemMessageToUser(loginUser.getUserId(), "注册已顺利完成,为确保您正常参与工作,请联系分包管理员确认所属项目及班组。", "0");
}
//生成一条未读的聊天记录
// ChatHistory chatHistory = new ChatHistory();
// chatHistory.setSenderId(99L);
// chatHistory.setGeterId(groupServiceOne.getId());
// chatHistory.setMessage(jsonObject.toString());
// chatHistory.setMessageDate(new Date());
// chatHistory.setIsRead("1");//未读
// chatHistoryService.save(chatHistory);
}
super.userEventTriggered(ctx, evt);
}
@ -460,7 +473,7 @@ public class ChatServerHandler extends SimpleChannelInboundHandler<TextWebSocket
//如果给成员发送考勤消息 而该成员还没有建立过连接从而没有考勤房间 则创建该成员考勤消息房间
if (groupServiceOne == null){
groupServiceOne = new ChatGroup();
groupServiceOne.setType(String.valueOf(2));
groupServiceOne.setType(String.valueOf(3));
groupServiceOne.setMembers("[100, "+userId+"]");
groupServiceOne.setLastMessage(message);
groupServiceOne.setLastMessageTime(new Date());
@ -487,7 +500,7 @@ public class ChatServerHandler extends SimpleChannelInboundHandler<TextWebSocket
//如果给成员发送安全消息 而该成员还没有建立过连接从而没有安全消息 则创建该成员安全消息房间
if (groupServiceOne == null){
groupServiceOne = new ChatGroup();
groupServiceOne.setType(String.valueOf(2));
groupServiceOne.setType(String.valueOf(4));
groupServiceOne.setMembers("[101, "+userId+"]");
groupServiceOne.setLastMessage(message);
groupServiceOne.setLastMessageTime(new Date());
@ -514,7 +527,7 @@ public class ChatServerHandler extends SimpleChannelInboundHandler<TextWebSocket
//如果给成员发送质量消息 而该成员还没有建立过连接从而没有质量消息 则创建该成员质量消息房间
if (groupServiceOne == null){
groupServiceOne = new ChatGroup();
groupServiceOne.setType(String.valueOf(2));
groupServiceOne.setType(String.valueOf(5));
groupServiceOne.setMembers("[102, "+userId+"]");
groupServiceOne.setLastMessage(message);
groupServiceOne.setLastMessageTime(new Date());

View File

@ -198,12 +198,21 @@ public class ChatGroupController {
//消息通知
byId.setName("系统消息");
byId.setAvatar(null);
} else if (byId.getType().equals("3")) {
byId.setName("考勤消息");
byId.setAvatar( null);
}else if (byId.getType().equals("4")){
byId.setName("安全消息");
byId.setAvatar( null);
}else if (byId.getType().equals("5")){
byId.setName("质量消息");
byId.setAvatar( null);
} else {
//群聊 则只需要将群主头像赋值给群聊头像
SysUserVo sysUserVo = sysUserService.selectUserById(byId.getOwerId());
if (sysUserVo != null){
if (sysUserVo != null) {
byId.setAvatar(sysUserVo.getAvatar());
}else {
} else {
byId.setAvatar(null);
}
}