Campo com condicao, promocoes ! mysql - jsp

Ola rapaziada,
Minha duvida chegou no seguinte dilema…
Estamos montando um sistema de vendas online.(jsp, mysql)
A parte de vendas, esta rodando tranquilo!

Mas chegamos numa situaçao que é a seguinte:

Quando um produto estiver for de linha(antigo) na hora da compra, o sistema tem que automaticamente dar o desconto de 50% para o cliente !
Caso ele compre mais de 5 produtos desda mesma linha, entao o desconto sera de 65%.

Esbarrei na forma como tera q ser feito. Consigo isso apenas num filtro? ou terei q construir tabela a parte? (mysql)

Ou apenas num jsp eu defino isso?

se alguem tiver alguma ideia…

valeu !!

Como você valida se o produto está fora de linha? É um atributo da tabela?

Acredito que dê para validar isso na sua Servlet que monta a lista de produtos ou mesmo no carrinho de compras.

Entao ,

Minha duvida é se ficaria melhor eu fazer isso validando numa servlet ou serei obrigado a criar alguma tabela com esses produtos(o que nao acho preciso isso…)
Mesmo pq, na hora q fechar a compra, terei q gravar no banco o valor com desconto…

Dá pra algo assim no jsp

<c:switch>
    <c:when test="${produto.isForaLinha}">
        Preço do produto: ${produto.precoDesconto}
    </c:when>
    <c:otherwise>
        Preço do Produto: ${produto.preco}
    </c:otherwise>

Na hora de fechar o pedido você verifica se a quantidade é igual ou maior que 5 do mesmo produto e dar mais 15%.

Um outra forma é colocar um método no objeto produto que já da o preço com 50% desconto, é uma outra possibilidade.

Alberes,

No exemplo entao, terei q criar um campo na tabela chamado “fora da linha”(que devera estar marcado os que sao e os que nao sao fora de linha)

Coloco uma condicao no fechamento da compra, se o produto estiver com o campo marcado como fora de linha, eu entao aplico a formula da %%?

Foi isso que eu perguntei, se tem um atributo na tabela que diz se o produto está fora de linha ou não, você pode tratar isso tanto na servlet ou então na hora de montar na sua JSP.

Acho que tanto faz :smiley:

Sim, na sua tabela deve ter algum campo que indica se o produto está fora de linha, se for verdadeira a condição você aplica a condição de desconto.

Isso poderá ser feito no JSP conforme o exemplo ou coloque a lógica direto no objeto que retorna o preço.

Conforme o exemplo abaixo, você pode colocar um icone que indica o desconto ou um texto:

<c:switch>  
    <c:when test="${produto.isForaLinha}">  
        Preço do produto: ${produto.precoDesconto}  [color=red] 50% de desconto[/color]
    </c:when>  
    <c:otherwise>  
        Preço do Produto: ${produto.preco}  
    </c:otherwise> 

[quote=markin1]Foi isso que eu perguntei, se tem um atributo na tabela que diz se o produto está fora de linha ou não, você pode tratar isso tanto na servlet ou então na hora de montar na sua JSP.

Acho que tanto faz :D[/quote]

Foi mal markin, me "desconectei"da pergunta q vc fez.rsss

Mas nao tem esse campo…ainda…rs

Markin…Alberes,

Valeu pela ajuda…vou dar uma testada…e posto aqui depois…

abraçao