O Encerramento do Pregão é o momento em que o sistema finaliza a disputa por uma peça (moeda ou cédula) e define o vencedor do leilão.
O objetivo é garantir transparência, justiça e registro correto da transação, evitando conflitos entre usuários.
O pregão de uma peça é encerrado automaticamente quando qualquer uma das seguintes condições é satisfeita:
Tempo do pregão se esgota:
Cada peça possui um tempo padrão (ex.: 60 segundos).
Cada lance válido reinicia a contagem regressiva.
Quando o tempo chega a zero sem novos lances, o pregão encerra automaticamente.
Status manual (opcional):
Um administrador pode encerrar o pregão manualmente, se necessário.
Isso é usado em situações especiais, como correções ou eventos extraordinários.
O vencedor do pregão é o usuário que realizou o maior lance aceito no momento do encerramento.
Em caso de valores idênticos (empate), vence o usuário que enviou o lance primeiro, conforme as regras de lances.
O sistema registra automaticamente o vencedor na tabela de lances e atualiza o status da peça como vendida.
Ao encerrar o pregão, o sistema atualiza os seguintes registros:
Tabela lista_pregao:
Campo status atualizado para finalizado ou vendido.
Campo fimPregao registra o timestamp do encerramento.
Tabela lances:
Último lance aceito marcado como vencedor.
Tabela usuarios:
Opcional: atualiza saldo ou histórico de compras do vencedor.
Interface de usuário:
Remove a peça da fila ativa no catálogo.
Exibe aviso de encerramento e vencedor para todos os participantes.
O sistema envia automaticamente mensagens aos usuários:
Para o vencedor:
Confirmação do lance vencedor e valor final.
Detalhes para pagamento ou retirada da peça.
Para demais participantes:
Informação de encerramento e lance vencedor.
Feedback sobre suas tentativas de lance, se aplicável.
Não há segunda chance: após o encerramento, não é possível modificar lances ou reabrir o pregão para aquela peça.
Auditoria: todos os lances, horários e usuários envolvidos ficam registrados para consultas futuras ou disputas.
Integridade: o sistema garante que o primeiro lance válido sempre vence em caso de empate, respeitando a ordem de envio.
Nilton Romani