mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	[BugFix] ReviewCount: GetApprovalCounts func sorted wrong (#11086)
* FIX by simplify * code reformat and optimize
This commit is contained in:
		@@ -523,29 +523,27 @@ func (issues IssueList) GetApprovalCounts() (map[int64][]*ReviewCount, error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (issues IssueList) getApprovalCounts(e Engine) (map[int64][]*ReviewCount, error) {
 | 
			
		||||
	rCounts := make([]*ReviewCount, 0, 6*len(issues))
 | 
			
		||||
	rCounts := make([]*ReviewCount, 0, 2*len(issues))
 | 
			
		||||
	ids := make([]int64, len(issues))
 | 
			
		||||
	for i, issue := range issues {
 | 
			
		||||
		ids[i] = issue.ID
 | 
			
		||||
	}
 | 
			
		||||
	sess := e.In("issue_id", ids)
 | 
			
		||||
	err := sess.Select("issue_id, type, count(id) as `count`").Where("official = ?", true).GroupBy("issue_id, type").OrderBy("issue_id").Table("review").Find(&rCounts)
 | 
			
		||||
	err := sess.Select("issue_id, type, count(id) as `count`").
 | 
			
		||||
		Where("official = ?", true).
 | 
			
		||||
		GroupBy("issue_id, type").
 | 
			
		||||
		OrderBy("issue_id").
 | 
			
		||||
		Table("review").
 | 
			
		||||
		Find(&rCounts)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	approvalCountMap := make(map[int64][]*ReviewCount, len(issues))
 | 
			
		||||
	if len(rCounts) > 0 {
 | 
			
		||||
		start := 0
 | 
			
		||||
		lastID := rCounts[0].IssueID
 | 
			
		||||
		for i, current := range rCounts[1:] {
 | 
			
		||||
			if lastID != current.IssueID {
 | 
			
		||||
				approvalCountMap[lastID] = rCounts[start:i]
 | 
			
		||||
				start = i
 | 
			
		||||
				lastID = current.IssueID
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		approvalCountMap[lastID] = rCounts[start:]
 | 
			
		||||
 | 
			
		||||
	for _, c := range rCounts {
 | 
			
		||||
		approvalCountMap[c.IssueID] = append(approvalCountMap[c.IssueID], c)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return approvalCountMap, nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user