From 7b92f91e88f8c639440eed48003248da43ef9551 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 7 Aug 2019 15:24:01 +0800 Subject: [PATCH] Fix approvals counting (#7757) (#7777) * fix approvals counting * fix tests * fmt --- models/org_team.go | 9 ++++++--- models/org_team_test.go | 6 +++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/models/org_team.go b/models/org_team.go index dcf0743740..531d235dcd 100644 --- a/models/org_team.go +++ b/models/org_team.go @@ -755,11 +755,14 @@ func IsUserInTeams(userID int64, teamIDs []int64) (bool, error) { } // UsersInTeamsCount counts the number of users which are in userIDs and teamIDs -func UsersInTeamsCount(userIDs []int64, teamIDs []int64) (count int64, err error) { - if count, err = x.In("uid", userIDs).In("team_id", teamIDs).Count(new(TeamUser)); err != nil { +func UsersInTeamsCount(userIDs []int64, teamIDs []int64) (int64, error) { + var ids []int64 + if err := x.In("uid", userIDs).In("team_id", teamIDs). + Table("team_user"). + Cols("uid").GroupBy("uid").Find(&ids); err != nil { return 0, err } - return + return int64(len(ids)), nil } // ___________ __________ diff --git a/models/org_team_test.go b/models/org_team_test.go index a81f9c0749..06ab4637d8 100644 --- a/models/org_team_test.go +++ b/models/org_team_test.go @@ -370,7 +370,7 @@ func TestUsersInTeamsCount(t *testing.T) { assert.Equal(t, expected, count) } - test([]int64{2}, []int64{1, 2, 3, 4}, 2) - test([]int64{1, 2, 3, 4, 5}, []int64{2, 5}, 2) - test([]int64{1, 2, 3, 4, 5}, []int64{2, 3, 5}, 3) + test([]int64{2}, []int64{1, 2, 3, 4}, 1) // only userid 2 + test([]int64{1, 2, 3, 4, 5}, []int64{2, 5}, 2) // userid 2,4 + test([]int64{1, 2, 3, 4, 5}, []int64{2, 3, 5}, 3) // userid 2,4,5 }