Files
XQKqueue/server/internal/domain/queue.go
2026-07-12 15:53:24 +08:00

30 lines
771 B
Go

package domain
import (
"fmt"
"calllinesystem/server/internal/model"
)
func DisplayNumber(_ string, number int) (string, error) {
if number <= 0 || number > 99999 {
return "", fmt.Errorf("invalid ticket number")
}
return fmt.Sprintf("%05d", number), nil
}
func CanTransitionTicket(from, to string) bool {
switch to {
case model.TicketArrived:
return from == model.TicketCalled || from == model.TicketArrived
case model.TicketCompleted:
return from == model.TicketCalled || from == model.TicketArrived || from == model.TicketCompleted
case model.TicketMissed:
return from == model.TicketCalled || from == model.TicketMissed
case model.TicketCanceled:
return from == model.TicketWaiting || from == model.TicketCanceled
default:
return false
}
}