diff --git a/internal/group/notification.go b/internal/group/notification.go index d9931dd9e..c64cec02e 100644 --- a/internal/group/notification.go +++ b/internal/group/notification.go @@ -65,7 +65,7 @@ func (g *Group) doNotification(ctx context.Context, msg *sdkws.MsgData) error { return err } if g.filter.ShouldExecute(detail.Uuid) { - g.listener().OnGroupMemberAdded(utils.StructToJsonString( + g.listener().OnGroupApplicationAdded(utils.StructToJsonString( ServerGroupRequestToLocalGroupRequestForNotification(detail.GetGroup(), detail.GetRequest()))) } default: diff --git a/internal/group/server_api.go b/internal/group/server_api.go index 9b36e0a56..abb670277 100644 --- a/internal/group/server_api.go +++ b/internal/group/server_api.go @@ -82,7 +82,14 @@ func (g *Group) getServerSelfGroupApplication(ctx context.Context, groupIDs []st handleResults []int32, pageNumber, showNumber int32) ([]*sdkws.GroupRequest, error) { req := &group.GetUserReqApplicationListReq{UserID: g.loginUserID, Pagination: &sdkws.RequestPagination{PageNumber: pageNumber, ShowNumber: showNumber}, GroupIDs: groupIDs, HandleResults: handleResults} - return api.Page(ctx, req, api.GetSendGroupApplicationList.Invoke, (*group.GetUserReqApplicationListResp).GetGroupRequests) + if showNumber <= 0 { + return api.Page(ctx, req, api.GetSendGroupApplicationList.Invoke, (*group.GetUserReqApplicationListResp).GetGroupRequests) + } + resp, err := api.GetSendGroupApplicationList.Invoke(ctx, req) + if err != nil { + return nil, err + } + return resp.GetGroupRequests(), nil } func (g *Group) getServerJoinGroup(ctx context.Context) ([]*sdkws.GroupInfo, error) { @@ -94,7 +101,14 @@ func (g *Group) getServerAdminGroupApplicationList(ctx context.Context, groupIDs handleResults []int32, pageNumber, showNumber int32) ([]*sdkws.GroupRequest, error) { req := &group.GetGroupApplicationListReq{FromUserID: g.loginUserID, Pagination: &sdkws.RequestPagination{PageNumber: pageNumber, ShowNumber: showNumber}, GroupIDs: groupIDs, HandleResults: handleResults} - return api.Page(ctx, req, api.GetRecvGroupApplicationList.Invoke, (*group.GetGroupApplicationListResp).GetGroupRequests) + if showNumber <= 0 { + return api.Page(ctx, req, api.GetRecvGroupApplicationList.Invoke, (*group.GetGroupApplicationListResp).GetGroupRequests) + } + resp, err := api.GetRecvGroupApplicationList.Invoke(ctx, req) + if err != nil { + return nil, err + } + return resp.GetGroupRequests(), nil } func (g *Group) getGroupsInfoFromServer(ctx context.Context, groupIDs []string) ([]*sdkws.GroupInfo, error) { diff --git a/internal/relation/server_api.go b/internal/relation/server_api.go index 83a7f393c..018e1966f 100644 --- a/internal/relation/server_api.go +++ b/internal/relation/server_api.go @@ -14,13 +14,27 @@ func (r *Relation) getDesignatedFriendsApply(ctx context.Context, req *relation. func (r *Relation) getSelfFriendApplicationList(ctx context.Context, pageNumber, showNumber int32) ([]*sdkws.FriendRequest, error) { req := &relation.GetPaginationFriendsApplyFromReq{UserID: r.loginUserID, Pagination: &sdkws.RequestPagination{PageNumber: pageNumber, ShowNumber: showNumber}} - return api.Page(ctx, req, api.GetSelfFriendApplicationList.Invoke, (*relation.GetPaginationFriendsApplyFromResp).GetFriendRequests) + if showNumber <= 0 { + return api.Page(ctx, req, api.GetSelfFriendApplicationList.Invoke, (*relation.GetPaginationFriendsApplyFromResp).GetFriendRequests) + } + resp, err := api.GetSelfFriendApplicationList.Invoke(ctx, req) + if err != nil { + return nil, err + } + return resp.GetFriendRequests(), nil } func (r *Relation) getRecvFriendApplicationList(ctx context.Context, handleResults []int32, pageNumber, showNumber int32) ([]*sdkws.FriendRequest, error) { req := &relation.GetPaginationFriendsApplyToReq{UserID: r.loginUserID, Pagination: &sdkws.RequestPagination{PageNumber: pageNumber, ShowNumber: showNumber}, HandleResults: handleResults} - return api.Page(ctx, req, api.GetRecvFriendApplicationList.Invoke, (*relation.GetPaginationFriendsApplyToResp).GetFriendRequests) + if showNumber <= 0 { + return api.Page(ctx, req, api.GetRecvFriendApplicationList.Invoke, (*relation.GetPaginationFriendsApplyToResp).GetFriendRequests) + } + resp, err := api.GetRecvFriendApplicationList.Invoke(ctx, req) + if err != nil { + return nil, err + } + return resp.GetFriendRequests(), nil } func (r *Relation) getBlackList(ctx context.Context) ([]*sdkws.BlackInfo, error) {