feat: psap support ticket notification

This commit is contained in:
zhangsz
2025-06-20 18:43:08 +08:00
parent 73ba248237
commit 9d1e2d6171
15 changed files with 147 additions and 10 deletions

View File

@@ -5,6 +5,7 @@ import (
"time"
"be.ems/lib/dborm"
"be.ems/lib/email"
"gorm.io/gorm"
)
@@ -347,6 +348,15 @@ func (s *CallbackTicketService) UpdateTicketToTimeout(ticket *CallbackTicket, or
lastAgent := ticket.AgentName
newAgent := s.SelectNextAgent(agents, lastAgent)
// 查找新座席邮箱
newAgentEmail := ""
for _, agent := range agents {
if agent.Name == newAgent {
newAgentEmail = agent.Email
break
}
}
// 3. 创建新工单
newTicket := CallbackTicket{
CallerNumber: ticket.CallerNumber,
@@ -363,5 +373,12 @@ func (s *CallbackTicketService) UpdateTicketToTimeout(ticket *CallbackTicket, or
return fmt.Errorf("创建新工单失败: %w", err)
}
// 新工单分配后发送邮件通知
if newAgentEmail != "" {
subject := "新工单自动重建通知"
body := fmt.Sprintf("您被分配了一个自动重建的回拨工单,主叫号码:%s", newTicket.CallerNumber)
go email.SendEmail(newAgentEmail, subject, body)
}
return nil
}