O Lance é a proposta de valor que um usuário oferece para adquirir uma peça (moeda ou cédula) durante o pregão. Cada lance é registrado no sistema e influencia diretamente no tempo restante e na sequência do leilão.
O objetivo das regras de lance é garantir transparência, evitar empates e manter a integridade do pregão.
Um lance só será aceito se cumprir os seguintes critérios:
Valor superior ao lance atual:
O lance deve ser maior que o lance anterior, seja ele o lance inicial ou o maior lance registrado.
Lances iguais ao anterior são automática e imediatamente rejeitados.
Usuário autenticado:
Apenas usuários logados podem participar do pregão.
Usuários sem permissão ou bloqueados não podem registrar lances.
Tempo de pregão ativo:
Lances só podem ser aceitos enquanto a peça estiver em pregão ativo.
Lances fora do tempo válido são rejeitados.
Saldo ou limite do usuário (opcional, dependendo do módulo):
O sistema pode validar se o usuário possui saldo suficiente (ou limite de crédito) antes de registrar o lance.
Sem empate: O sistema não permite lances de mesmo valor.
Vence o primeiro: Caso dois usuários tentem enviar exatamente o mesmo valor praticamente simultaneamente:
O primeiro lance registrado é aceito.
Lances subsequentes de mesmo valor são rejeitados.
Incremento mínimo (se configurado):
Cada lance pode ter um valor mínimo de incremento em relação ao lance anterior (ex.: R$ 0,50 ou 1% do valor atual).
Quando um lance é aceito:
Atualiza o maior lance atual no banco de dados.
Reinicia o tempo de contagem regressiva, garantindo que novos lances tenham oportunidade de disputa.
Exibe notificação aos usuários, com o valor do novo lance e o usuário responsável.
Registra histórico de lances para auditoria futura.
Um lance será rejeitado automaticamente se:
Valor menor ou igual ao maior lance registrado.
Usuário não autenticado ou bloqueado.
Peça já finalizada ou pregão encerrado.
Tentativa de manipulação do sistema (ex.: envio de valor inválido via console do navegador).
O sistema deve sempre exibir uma mensagem clara de rejeição, informando o motivo.
Cada peça possui tempo padrão de 60 segundos por lance, reiniciado a cada novo lance válido.
Os usuários podem monitorar tempo restante e histórico de lances para definir estratégia.
O sistema garante que nenhum usuário tenha vantagem indevida, respeitando a ordem de envio.
Todos os lances são gravados em uma tabela lances com referência à peça (idMoeda ou idCedula) e ao pregão (idPregao).
Triggers e validações do lado do servidor garantem que não haja aceitação de lances duplicados ou inválidos.
Possibilidade de configuração futura de incremento mínimo ou restrição de valor máximo por usuário.
Nilton Romani