Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Fazer uma tela de pedidos

Olá!

Gostaria de uma dica, ajuda, indicação, qualquer coisa hehe Estou querendo fazer um sistema web com cadastros de clientes, funcionários, fornecedores, produtos, até ai é tranquilo, com o que já foi ensinado nos cursos da formação de Java Web eu consegui fazer, meu problema agora é o pedido, gostaria de uma tela de pedido, parecida com a de carrinho do curso de SpringMVC mas que eu conseguisse colocar os itens na mesma tela em que eles aparecem listados, e fosse "infinito" vou colocando produtos no pedido e ele vai adicionando à lista que vai ser os produtos do pedido depois. A parte de lógica é "tranquilo", só não sei como fazer isso acontecer no SpringMVC, em resumo, não sei fazer kk alguém tem uma luz?

4 respostas

Fala ai Pedro, de boa?

Acho que a ideia é você ter um carrinho da mesma forma, na hora de fechar o pedido, pega os itens desse carrinho e cria um pedido.

Penso que dessa forma é o que faz sentindo.

Opa Matheus tudo certo?

Então, pensei em fazer isso, mas gostaria de algo que numa mesma tela eu conseguisse adicionar itens pelo ID e fossem para essa lista, entende? Bem como uma frente de caixa de supermercado, e ai posso ir adicionando inúmeros itens, não sei se estou conseguindo explicar bem a ideia kk

solução!

Bom dia Pedro. Acho que entendi a sua requisição. Recentemente eu fiz algo similar na empresa onde eu trabalho usando jquery + spring para uma busca, mas já vou adiantando que pode ser um pouco trabalhoso.

Resumindo o que vou explicar abaixo em passos implementados:

  • [Spring] Criar endpoint para retornar produtos baseado em ID ou nome
  • [Spring] Criar endpoint para adicionar um produto no carrinho
  • [jQuery] Criar um auto-complete que vai consumir o endpoint de busca
  • [jQuery] Criar método de inclusão e atualização do carrinho

Creio que nos dois primeiros pontos citados acima, que são a criação dos endpoints você não vai ter problemas na criação, mas sendo superficial e objetivo:

  1. No endpoint de busca, para deixar mais opções para o usuário, receber codigo e nome. Caso o usuário não saiba o código, ele pode procurar pelo nome do produto em si. Essa informação vai popular o autocomplete. A empresa que eu trabalho é alemã, por isso o label esquisito no idioma nas imagens à seguir, exemplos: https://prnt.sc/kxyjnh e https://prnt.sc/kxybwv
  2. Uma vez que o usuário encontrar o produto dele no autocomplete e quiser adicionar no carrinho, ele vai clicar na opção. Nesse momento, o segundo endpoint vai entrar em ação, que é enviar o código do produto que foi selecionado para o carrinho.

Tenha em mente que essas implementações são para uma busca, então não estou manipulando o número de produtos, mas isso você pode adicionar no seu código.

Passando para a parte mais difícil, caso você não tenha convívio com jquery.

A primeira coisa que você vai ter que entender é como fazer uma requisição ajax. Essa requisição é a chave para conseguir fazer essa implementação. Para entender como fazer e aprofundar um pouco no assunto eu recomendo fazer o curso de jquery aqui do alura.

Para ser específico, veja essa documentação do jquery para requisições ajax: http://api.jquery.com/jquery.ajax/

Com ela você vai realizar a requisição para o primeiro endpoint de busca onde o retorno é o que você vai tratar e mostrar nos resultados da sua busca.

A segunda requisição também vai ser efetuada utilizando esse mesmo ajax request, que vai ser adicionar ao carrinho o produto selecionado.

Em vários forums você encontra exemplos de autocomplete com imagens já funcionando ou pelo menos uma base para começar.

Uma vez realizado a adição no carrinho, basta atualizar ele que as informações já vão estar lá.

Obrigado Arfmoraes, vou ser sincero em dizer que não entendo de jQuery, mas com certeza tuas indicação vão ser o suficiente para eu aprender o que preciso e fazer a tela que quero, muito obrigado pela atenção e tempo dedicados a resposta! Te desejo um bom dia!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software