Bom dia a todos,
Para a faculdade, preciso programar uma aplicacão Desktop Java (não pode ser uma aplicacão web). Será um E-Commerce muito simples. Haverá um servidor ao qual clientes e funcionários podem se conectar via Sockets.
Eu estou dúvida sobre como posso realizar o seguinte requisito:
“Os clientes recém-cadastrados devem ser ativados uma vez por um funcionário”
Ou seja, um cliente clicará no botão “Cadastrar” e seus dados serão salvos no banco de dados, mas ele só poderá se logar de novo na aplicacão se um funcionário liberar.
A parte do cadastro eu já sei como fazer (as infos serão salvas num db SQLite), mas essa “dependência” cliente-funcionário eu não sei por onde começar.
Eu gostaria de indicações de leitura ou sugestões sobre conceitos que poderiam ser úteis para uma possível implementacão. Eu ainda não comecei a programar ainda.
Agradeco desde já qualquer ajuda!
Conceitualmente, um modo de obter isso é ter um campo extra no cliente (ex: ativo, etc) que terá o valor false (ou equivalente) quando ele se cadastrar. Para os funcionários, você pode ter uma listagem (ou pode usar a listagem de clientes, se ela já existir) onde ele vê todos os clientes que estão com ativo=false, e o funcionário pode clicar em um botão ou opção para ativar ou desativar esse cliente. Adicionalmente, você pode querer adicionar campos para gravar quem realizou a ativação (id/código do funcionário e data/hora).
Quando o cliente tentar se logar, além de usuário e senha, você também verifica se esse campo está false e, caso esteja, emite algum tipo de aviso (ex: sua conta ainda não foi ativada).
Abraço.
2 curtidas
É exatamente isso, muito obrigada!
Agora, para que o funcionário seja notificado, ele tem que ficar esperando (escutando no socket) por algo como uma mensagem de “novo registro”? E entao esse funcionário teria que fazer uma chamada de método remota para settar o atributo do cliente?
Pode ou não ser assim, isso fica a seu critério. Isso é um requisito?
Sim, da mesma forma que eu suponho que outras chamadas do sistema sejam feitas (inclusão e edição do cliente e funcionário, por exemplo).
Note que eu estou respondendo conceitualmente. Se você tem dúvidas mais específicas ou de implementação, então precisa trazer essas perguntas.
Abraço.
2 curtidas
sim, ao final terá que ser uma aplicacao server/client com comunicacao via socket!
Muito obrigada pela resposta!!