package matcher import ( "synlotto-website/helpers" "synlotto-website/models" ) func MatchTicketToDraw(ticket models.MatchTicket, draw models.DrawResult, rules []models.PrizeRule) models.MatchResult { mainMatches := helpers.CountMatches(ticket.Balls, draw.Balls) bonusMatches := helpers.CountMatches(ticket.BonusBalls, draw.BonusBalls) prizeTier := getPrizeTier(ticket.GameType, mainMatches, bonusMatches, rules) isWinner := prizeTier != "" return models.MatchResult{ MatchedDrawID: draw.DrawID, MatchedMain: mainMatches, MatchedBonus: bonusMatches, PrizeTier: prizeTier, IsWinner: isWinner, } } func getPrizeTier(game string, main, bonus int, rules []models.PrizeRule) string { for _, rule := range rules { if rule.Game == game && rule.MainMatches == main && rule.BonusMatches == bonus { return rule.Tier } } return "" }