修改场次bug

This commit is contained in:
2026-07-28 10:56:11 +08:00
parent 8a48af6a3b
commit 0e1ac400dc
5 changed files with 181 additions and 1 deletions

View File

@@ -115,14 +115,22 @@ func (s *Server) statusByPhone(w http.ResponseWriter, r *http.Request, limitByCl
}
var tickets []model.QueueTicket
activeSessionStatuses := []string{"RUNNING", "PAUSED"}
latestActiveSession := s.db.Table("queue_sessions AS latest_active_session").
Select("latest_active_session.id").
Where("latest_active_session.project_id = queue_tickets.project_id").
Where("latest_active_session.status IN ?", activeSessionStatuses).
Order("latest_active_session.business_date DESC").
Limit(1)
if err := s.db.WithContext(r.Context()).Model(&model.QueueTicket{}).
Joins("JOIN projects ON projects.id = queue_tickets.project_id").
Joins("JOIN queue_sessions ON queue_sessions.id = queue_tickets.queue_session_id AND queue_sessions.project_id = queue_tickets.project_id").
Where("queue_tickets.phone_hmac = ? AND queue_tickets.status IN ? AND queue_sessions.status IN ? AND projects.status IN ?",
phoneDigest,
[]string{model.TicketWaiting, model.TicketCalled, model.TicketArrived},
[]string{"RUNNING", "PAUSED"},
activeSessionStatuses,
[]string{model.ProjectRunning, model.ProjectPaused}).
Where("queue_tickets.queue_session_id = (?)", latestActiveSession).
Order("projects.name ASC, queue_tickets.ticket_number ASC").
Find(&tickets).Error; err != nil {
writeError(w, err)