package robot import ( "go_dreamfactory/comm" "go_dreamfactory/modules/friend" "go_dreamfactory/pb" "log" ) func (r *Robot) handleFriendMsg(msg *pb.UserMessage) { switch msg.SubType { case friend.Friend_SubType_Apply: r.handleFriendApply(msg) case friend.Friend_SubType_ApplyList: r.handleFriendApplyList(msg) case friend.Friend_SubType_Agree: r.handleFriendAgree(msg) case friend.Friend_SubType_Refuse: r.handleFriendRefuse(msg) case friend.Friend_SubType_Blacklist: r.handleFriendBlacklist(msg) case friend.Friend_SubType_AddBlack: r.handleFriendAddBlack(msg) case friend.Friend_SubType_DelBlack: r.handleFriendDelBlack(msg) case friend.Friend_SubType_Search: r.handleFriendSearch(msg) } } //好友列表 func (r *Robot) FriendList() { req := &pb.FriendListReq{} head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_List} defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req) err := r.SendToClient(head, req) if err != nil { log.Fatal(err) } } func (r *Robot) handleFriendList(msg *pb.UserMessage) { rsp := &pb.FriendListRsp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) } //好友搜索 func (r *Robot) FriendSearch(nickName string) { req := &pb.FriendSearchReq{ NickName: nickName, } head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_Search} defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req) err := r.SendToClient(head, req) if err != nil { log.Fatal(err) } } func (r *Robot) handleFriendSearch(msg *pb.UserMessage) { rsp := &pb.FriendSearchRsp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) } //好友申请 func (r *Robot) FriendApply(friendId string) { req := &pb.FriendApplyReq{ FriendId: friendId, } head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_Apply} defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req) err := r.SendToClient(head, req) if err != nil { log.Fatal(err) } } func (r *Robot) handleFriendApply(msg *pb.UserMessage) { rsp := &pb.FriendApplyRsp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) } //申请列表 func (r *Robot) FriendApplyList() { req := &pb.FriendApplyListReq{} head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_ApplyList} defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req) err := r.SendToClient(head, req) if err != nil { log.Fatal(err) } } func (r *Robot) handleFriendApplyList(msg *pb.UserMessage) { rsp := &pb.FriendApplyListRsp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) } //同意 func (r *Robot) FriendAgree(friendIds []string) { req := &pb.FriendAgreeReq{ FriendIds: friendIds, } head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_Agree} defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req) err := r.SendToClient(head, req) if err != nil { log.Fatal(err) } } func (r *Robot) handleFriendAgree(msg *pb.UserMessage) { rsp := &pb.FriendAgreeRsp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) } //拒绝 func (r *Robot) FriendRefuse(friendIds []string) { req := &pb.FriendRefuseReq{ FriendIds: friendIds, } head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_Refuse} defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req) err := r.SendToClient(head, req) if err != nil { log.Fatal(err) } } func (r *Robot) handleFriendRefuse(msg *pb.UserMessage) { rsp := &pb.FriendRefuseRsp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) } //黑名单列表 func (r *Robot) FriendBlacklist() { req := &pb.FriendBlackListReq{} head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_Blacklist} defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req) err := r.SendToClient(head, req) if err != nil { log.Fatal(err) } } func (r *Robot) handleFriendBlacklist(msg *pb.UserMessage) { rsp := &pb.FriendBlackListRsp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) } //添加黑名单 func (r *Robot) FriendAddBlack() { req := &pb.FriendBlackAddReq{} head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_AddBlack} defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req) err := r.SendToClient(head, req) if err != nil { log.Fatal(err) } } func (r *Robot) handleFriendAddBlack(msg *pb.UserMessage) { rsp := &pb.FriendBlackAddRsp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) } //删除黑名单 func (r *Robot) FriendDelBlack(friendId string) { req := &pb.FriendDelBlackReq{ FriendId: friendId, } head := &pb.UserMessage{MainType: string(comm.SM_FriendModule), SubType: friend.Friend_SubType_DelBlack} defer traceFunc(head.MainType, head.SubType, r.user.GetUid(), req) err := r.SendToClient(head, req) if err != nil { log.Fatal(err) } } func (r *Robot) handleFriendDelBlack(msg *pb.UserMessage) { rsp := &pb.FriendDelBlackRsp{} if !comm.ProtoDecode(msg, rsp) { return } printReply(msg, rsp) }