mirror of https://gitee.com/answerdev/answer.git
fix(notification): Remove the author from notification subscribers
This commit is contained in:
parent
e4a77367a4
commit
fce6e1d075
|
@ -87,6 +87,7 @@ type NewCommentTemplateData struct {
|
|||
}
|
||||
|
||||
type NewQuestionTemplateRawData struct {
|
||||
QuestionAuthorUserID string
|
||||
QuestionTitle string
|
||||
QuestionID string
|
||||
UnsubscribeCode string
|
||||
|
|
|
@ -16,10 +16,12 @@ type ExternalNotificationMsg struct {
|
|||
NewQuestionTemplateRawData *NewQuestionTemplateRawData `json:"new_question_template_raw_data,omitempty"`
|
||||
}
|
||||
|
||||
func CreateNewQuestionNotificationMsg(questionID, questionTitle string, tags []*entity.Tag) *ExternalNotificationMsg {
|
||||
func CreateNewQuestionNotificationMsg(
|
||||
questionID, questionTitle, questionAuthorUserID string, tags []*entity.Tag) *ExternalNotificationMsg {
|
||||
questionID = uid.DeShortID(questionID)
|
||||
msg := &ExternalNotificationMsg{
|
||||
NewQuestionTemplateRawData: &NewQuestionTemplateRawData{
|
||||
QuestionAuthorUserID: questionAuthorUserID,
|
||||
QuestionID: questionID,
|
||||
QuestionTitle: questionTitle,
|
||||
},
|
||||
|
|
|
@ -78,7 +78,6 @@ func (ns *ExternalNotificationService) getNewQuestionSubscribers(ctx context.Con
|
|||
UserID: userNotificationConfig.UserID,
|
||||
Channels: schema.NewNotificationChannelsFormJson(userNotificationConfig.Channels),
|
||||
}
|
||||
subscribers = append(subscribers, subscribersMapping[userNotificationConfig.UserID])
|
||||
}
|
||||
log.Debugf("get %d subscribers from tags", len(subscribersMapping))
|
||||
|
||||
|
@ -98,7 +97,12 @@ func (ns *ExternalNotificationService) getNewQuestionSubscribers(ctx context.Con
|
|||
UserID: notificationConfig.UserID,
|
||||
Channels: schema.NewNotificationChannelsFormJson(notificationConfig.Channels),
|
||||
}
|
||||
subscribers = append(subscribers, subscribersMapping[notificationConfig.UserID])
|
||||
}
|
||||
|
||||
// 3. remove question owner
|
||||
delete(subscribersMapping, msg.NewQuestionTemplateRawData.QuestionAuthorUserID)
|
||||
for _, subscriber := range subscribersMapping {
|
||||
subscribers = append(subscribers, subscriber)
|
||||
}
|
||||
log.Debugf("get %d subscribers from all new question config", len(subscribers))
|
||||
return subscribers, nil
|
||||
|
|
|
@ -333,7 +333,7 @@ func (qs *QuestionService) AddQuestion(ctx context.Context, req *schema.Question
|
|||
})
|
||||
|
||||
qs.externalNotificationQueueService.Send(ctx,
|
||||
schema.CreateNewQuestionNotificationMsg(question.ID, question.Title, tags))
|
||||
schema.CreateNewQuestionNotificationMsg(question.ID, question.Title, question.UserID, tags))
|
||||
|
||||
questionInfo, err = qs.GetQuestion(ctx, question.ID, question.UserID, req.QuestionPermission)
|
||||
return
|
||||
|
|
Loading…
Reference in New Issue