using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Sog; using ProtoCSStruct; namespace GameDB { public static class FriendDBOp { public static void OnQueryFriendListReq(uint remoteAppID, StructPacket packet, GameDBOperator dbOperator) { ref SSQueryFriendListReq req = ref packet.GetMessage(); SSQueryFriendListRes res = new SSQueryFriendListRes(); ref DBFriendSelf self = ref res.Self; ref DBFriendList list = ref res.List; ref DBFriendOpData opData = ref res.OpData; bool bSuccess = dbOperator.QueryFriendList(req.Uid, ref self, ref list, ref opData); if (bSuccess == false) { TraceLog.Error("FriendOp.OnQueryFriendListReq failed uid {0}", req.Uid); return; } res.Uid = req.Uid; GameDBServerUtils.GetPacketSender().SendToServerByID(remoteAppID, (int)SSGameMsgID.QueryFriendListRes, ref res, packet.ObjectID); } public static void OnQueryFriendInfoCacheReq(uint remoteAppID, StructPacket packet, GameDBOperator dbOperator) { ref SSQueryFriendInfoCacheReq req = ref packet.GetMessage(); SSQueryFriendInfoCacheRes res = new SSQueryFriendInfoCacheRes(); ref DBFriendSelf self = ref res.Self; ref DBFriendList list = ref res.List; ref DBFriendOpData opData = ref res.OpData; bool bSuccess = dbOperator.QueryFriendList(req.Uid, ref self, ref list, ref opData); if (bSuccess == false) { TraceLog.Error("FriendOp.OnQueryFriendInfoCacheReq failed uid {0}", req.Uid); return; } res.Uid = req.Uid; res.FromUid = req.FromUid; res.Reason = req.Reason; res.OpCallback = req.OpCallback; res.ChatRes = req.ChatRes; res.ChatSeq = req.ChatSeq; GameDBServerUtils.GetPacketSender().SendToServerByID(remoteAppID, (int)SSGameMsgID.QueryFriendInfoCacheRes, ref res, packet.ObjectID); } public static void OnSaveFriendListReq(uint remoteAppID, StructPacket packet, GameDBOperator dbOperator) { ref SSSaveFriendListReq req = ref packet.GetMessage(); bool bSuccess = dbOperator.UpdateFriendList(req.Uid, ref req.Self, ref req.List, ref req.OpData, req.NewInsert); if (bSuccess == false) { TraceLog.Error("FriendOp.OnSaveFriendListReq failed uid {0}", req.Uid); return; } SSSaveFriendListRes res = new SSSaveFriendListRes(); res.Uid = req.Uid; res.NewInsert = req.NewInsert; res.DataSeq = req.DataSeq; GameDBServerUtils.GetPacketSender().SendToServerByID(remoteAppID, (int)SSGameMsgID.SaveFriendListRes, ref res, packet.ObjectID); } } }