From b78cd12846b6df03dfecb38a01864cf3a65df5a9 Mon Sep 17 00:00:00 2001 From: yp05327 <576951401@qq.com> Date: Thu, 13 Jun 2024 04:20:34 +0000 Subject: [PATCH 1/2] fix logic --- models/issues/pull_list.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/models/issues/pull_list.go b/models/issues/pull_list.go index e8011a916fb4c..2660958ba5a4b 100644 --- a/models/issues/pull_list.go +++ b/models/issues/pull_list.go @@ -201,7 +201,12 @@ func (prs PullRequestList) LoadIssues(ctx context.Context) (IssueList, error) { } // Load issues. - issueIDs := prs.GetIssueIDs() + issueIDs := container.FilterSlice(prs, func(pr *PullRequest) (int64, bool) { + if pr.Issue == nil { + return pr.IssueID, pr.IssueID > 0 + } + return 0, false + }) issues := make(map[int64]*Issue, len(issueIDs)) if err := db.GetEngine(ctx). In("id", issueIDs). @@ -237,10 +242,7 @@ func (prs PullRequestList) LoadIssues(ctx context.Context) (IssueList, error) { // GetIssueIDs returns all issue ids func (prs PullRequestList) GetIssueIDs() []int64 { return container.FilterSlice(prs, func(pr *PullRequest) (int64, bool) { - if pr.Issue == nil { - return pr.IssueID, pr.IssueID > 0 - } - return 0, false + return pr.IssueID, pr.IssueID > 0 }) } From 9161652189f881ef49aeae8550056efb960eb975 Mon Sep 17 00:00:00 2001 From: yp05327 <576951401@qq.com> Date: Thu, 13 Jun 2024 04:25:51 +0000 Subject: [PATCH 2/2] improve --- models/issues/pull_list.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/models/issues/pull_list.go b/models/issues/pull_list.go index 2660958ba5a4b..7802422ef4adc 100644 --- a/models/issues/pull_list.go +++ b/models/issues/pull_list.go @@ -200,12 +200,9 @@ func (prs PullRequestList) LoadIssues(ctx context.Context) (IssueList, error) { return nil, nil } - // Load issues. + // Load issues which are not loaded issueIDs := container.FilterSlice(prs, func(pr *PullRequest) (int64, bool) { - if pr.Issue == nil { - return pr.IssueID, pr.IssueID > 0 - } - return 0, false + return pr.IssueID, pr.Issue == nil && pr.IssueID > 0 }) issues := make(map[int64]*Issue, len(issueIDs)) if err := db.GetEngine(ctx).