feat: enhance event consumption logic and add success reply handling

This commit is contained in:
mlogclub
2026-04-14 19:05:05 +08:00
parent 1f894ef7f0
commit 3cdd31786a
6 changed files with 103 additions and 2 deletions
+10 -1
View File
@@ -514,7 +514,7 @@ func (s *messageService) ValidateConversationSender(conversationID int64, sender
if operator == nil {
return nil, errorsx.Unauthorized("未登录或登录已过期")
}
if conversation.Status != enums.IMConversationStatusAIServing {
if conversation.Status != enums.IMConversationStatusAIServing && !allowAIMessageOnPendingHandoff(conversation) {
return nil, errorsx.Forbidden("当前会话不处于 AI 接待状态")
}
if conversation.CurrentAssigneeID != 0 {
@@ -530,6 +530,15 @@ func (s *messageService) ValidateConversationSender(conversationID int64, sender
return conversation, nil
}
func allowAIMessageOnPendingHandoff(conversation *models.Conversation) bool {
if conversation == nil {
return false
}
return conversation.Status == enums.IMConversationStatusPending &&
conversation.HandoffAt != nil &&
conversation.CurrentAssigneeID == 0
}
func suffixFilenameForSummary(filename string) string {
filename = strings.TrimSpace(filename)
if filename == "" {