好友聊天在线好友推送

back_recharge
gaojie 2019-06-11 18:02:07 +08:00
parent da4b5a36d3
commit ebb8c6341c
1 changed files with 15 additions and 1 deletions

View File

@ -5,6 +5,7 @@ import com.ljsd.GameApplication;
import com.ljsd.jieling.chat.messge.MessageCache;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.network.session.ISession;
@ -57,6 +58,8 @@ public class ChatLogic {
CBean2Proto.getChatInfoBuilder(user,message,time);
}
}
//取出数据好友聊天数据后删除
RedisUtil.getInstence().hdel(GameApplication.serverId + RedisKey.CUser_Chat + uid);
break;
}
ChatProto.GetChatMessageInfoResponse getChatMessageInfoResponse = ChatProto.GetChatMessageInfoResponse
@ -85,7 +88,18 @@ public class ChatLogic {
MessageCache.addGuildMsg(chatInfo);
break;
case 3: //好友
RedisUtil.getInstence().hset(GameApplication.serverId +RedisKey.CUser_Chat+friendId,uid +"#"+ nowTime,message, -1);
//现在好友推送
if (OnlineUserManager.checkUidOnline(friendId)){
ISession sessionByUid = OnlineUserManager.getSessionByUid(friendId);
chatInfo = CBean2Proto.getChatInfoBuilder(user,message,nowTime);
ChatProto.SendChatInfoIndication sendChatInfoIndication = ChatProto.SendChatInfoIndication.newBuilder()
.setChatInfo(chatInfo)
.build();
assert sessionByUid != null;
MessageUtil.sendMessage(sessionByUid, 1, MessageTypeProto.MessageType.SEND_FRIEND_INFO_INDICATION_VALUE, sendChatInfoIndication, true);
}else{
RedisUtil.getInstence().hset(GameApplication.serverId +RedisKey.CUser_Chat+friendId,uid +"#"+ nowTime,message, -1);
}
break;
}
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.SEND_CHAT_INFO_RESPONSE_VALUE, null, true);