//跨服聊天提交
parent
8eb605135d
commit
6b76168938
|
@ -14,10 +14,12 @@ import com.ljsd.jieling.ktbeans.ReportEventEnum;
|
||||||
import com.ljsd.jieling.ktbeans.ReportUtil;
|
import com.ljsd.jieling.ktbeans.ReportUtil;
|
||||||
import com.ljsd.jieling.logic.GlobleSystemLogic;
|
import com.ljsd.jieling.logic.GlobleSystemLogic;
|
||||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||||
|
import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic;
|
||||||
import com.ljsd.jieling.logic.dao.FriendManager;
|
import com.ljsd.jieling.logic.dao.FriendManager;
|
||||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||||
import com.ljsd.jieling.logic.dao.PlayerManager;
|
import com.ljsd.jieling.logic.dao.PlayerManager;
|
||||||
import com.ljsd.jieling.logic.dao.UserManager;
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
|
import com.ljsd.jieling.logic.dao.gm.ArenaOfUser;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.logic.family.GuildLogic;
|
import com.ljsd.jieling.logic.family.GuildLogic;
|
||||||
import com.ljsd.jieling.network.session.ISession;
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
@ -31,6 +33,7 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import util.TimeUtils;
|
import util.TimeUtils;
|
||||||
|
|
||||||
|
import java.net.UnknownHostException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -250,9 +253,11 @@ public class ChatLogic {
|
||||||
}
|
}
|
||||||
|
|
||||||
messageId = RedisUtil.getInstence().increment( RedisKey.CHAT_CROSS_MSG_ID + group);
|
messageId = RedisUtil.getInstence().increment( RedisKey.CHAT_CROSS_MSG_ID + group);
|
||||||
chatInfo = CBean2Proto.getChatInfoBuilder(user,message,nowTime,messageId);
|
chatInfo = CBean2Proto.getCrossChatInfoBuilder(user,message,nowTime,messageId);
|
||||||
|
|
||||||
MessageCache.addCrossMsg(chatInfo,messageId,String.valueOf(group));
|
MessageCache.addCrossMsg(chatInfo,messageId,String.valueOf(group));
|
||||||
|
|
||||||
|
checkSaveUser(user);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default: {
|
default: {
|
||||||
break;
|
break;
|
||||||
|
@ -263,6 +268,13 @@ public class ChatLogic {
|
||||||
MessageUtil.sendMessage(iSession, 1, msgId, null, true);
|
MessageUtil.sendMessage(iSession, 1, msgId, null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkSaveUser(User user) throws Exception {
|
||||||
|
ArenaOfUser query = CrossServiceLogic.getInstance().query(user.getId());
|
||||||
|
if (query == null){
|
||||||
|
CrossServiceLogic.getInstance().dispose(user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//记录聊天信息
|
//记录聊天信息
|
||||||
private void onSendChatSuccess(User user,int chatType,String message){
|
private void onSendChatSuccess(User user,int chatType,String message){
|
||||||
RedisUtil redisUtil = RedisUtil.getInstence();
|
RedisUtil redisUtil = RedisUtil.getInstence();
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ljsd.jieling.util;
|
package com.ljsd.jieling.util;
|
||||||
|
|
||||||
|
import com.ljsd.GameApplication;
|
||||||
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
|
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
|
||||||
import com.ljsd.jieling.db.redis.RedisKey;
|
import com.ljsd.jieling.db.redis.RedisKey;
|
||||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||||
|
@ -524,6 +525,24 @@ public class CBean2Proto {
|
||||||
return chatInfo.build();
|
return chatInfo.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ChatProto.ChatInfo getCrossChatInfoBuilder(User user,String message,long time,long messageId) {
|
||||||
|
ChatProto.ChatInfo.Builder chatInfo = ChatProto.ChatInfo.newBuilder();
|
||||||
|
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||||
|
chatInfo.setSenderId(user.getId());
|
||||||
|
chatInfo.setSenderName(GameApplication.serverId+"_"+playerInfoManager.getNickName());
|
||||||
|
chatInfo.setSenderlevel(playerInfoManager.getLevel());
|
||||||
|
chatInfo.setSendervip(playerInfoManager.getVipLevel());
|
||||||
|
chatInfo.setTimes(time);
|
||||||
|
chatInfo.setMsg(message);
|
||||||
|
chatInfo.setHead(playerInfoManager.getHead());
|
||||||
|
chatInfo.setFrame(playerInfoManager.getHeadFrame());
|
||||||
|
chatInfo.setSoulVal(playerInfoManager.getMaxForce());
|
||||||
|
chatInfo.setMessageId(messageId);
|
||||||
|
chatInfo.setUserTitle(playerInfoManager.getUserTitle());
|
||||||
|
chatInfo.setPracticeLevel(user.getHeroManager().getPracticeLevel());
|
||||||
|
return chatInfo.build();
|
||||||
|
}
|
||||||
|
|
||||||
public static ChatProto.ChatInfo getSysChatInfoBuilder(String message,int messageType,String itemId,int type,int startTime, int endTime, int priorityLevel, int multiple,long messageId) {
|
public static ChatProto.ChatInfo getSysChatInfoBuilder(String message,int messageType,String itemId,int type,int startTime, int endTime, int priorityLevel, int multiple,long messageId) {
|
||||||
ChatProto.ChatInfo.Builder chatInfo = ChatProto.ChatInfo.newBuilder();
|
ChatProto.ChatInfo.Builder chatInfo = ChatProto.ChatInfo.newBuilder();
|
||||||
chatInfo.setItemId(itemId);
|
chatInfo.setItemId(itemId);
|
||||||
|
|
Loading…
Reference in New Issue