|
|
|
@ -562,3 +562,45 @@ func UnFollowUser(userId int64, unFollowId int64) (err error) {
|
|
|
|
|
} |
|
|
|
|
return session.Commit() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func UpdateMentions(userNames []string, issueId int64) error { |
|
|
|
|
users := make([]*User, 0, len(userNames)) |
|
|
|
|
|
|
|
|
|
if err := x.Where("name IN (?)", strings.Join(userNames, "\",\"")).OrderBy("name ASC").Find(&users); err != nil { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ids := make([]int64, 0, len(userNames)) |
|
|
|
|
|
|
|
|
|
for _, user := range users { |
|
|
|
|
ids = append(ids, user.Id) |
|
|
|
|
|
|
|
|
|
if user.Type == INDIVIDUAL { |
|
|
|
|
continue |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if user.NumMembers == 0 { |
|
|
|
|
continue |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
tempIds := make([]int64, 0, user.NumMembers) |
|
|
|
|
|
|
|
|
|
orgUsers, err := GetOrgUsersByOrgId(user.Id) |
|
|
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for _, orgUser := range orgUsers { |
|
|
|
|
tempIds = append(tempIds, orgUser.Id) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ids = append(ids, tempIds...) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if err := UpdateIssueUserPairsByMentions(ids, issueId); err != nil { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|