修改场次bug
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user