Olá, preciso fazer o seguinte estudo de caso:
OBJETIVOS:
Criar um aplicação de transações e consultas seguindo o modelo CQRS.
Parâmetros obrigatórios das aplicações:
CADASTRO -
Cadastro de um novo usuário, (Nome completo, documento, login e senha)
Validar CPE
Este usuário deve persistir no banco de memória (SQL).
Deve ser gerado um autenticação única para este cliente poder logar e realizar suas operações, (JWT - SpringSecurity).
OPERAÇÕES -
Um cliente deve poder se logar usando seu login e senha no qual deve ser validado.
Criação de um Histórico de transações, com o valor depositado ou retirado, data e hora. (SQL)
A partir do cliente logado ele deve poder: Depositar dinheiro, consutar seu saldo e pagar contas.
Para depositar dinheiro leve em consideração os centavos e a inserção no histórico,
Para pagamento de contas deve receber um valor hipotético e ser debitado da conta caso o valor exista em saldo, caso não exista o cliente devera ficar negativado e na próxima vez que for depositado algum dinheiro devera ser cobrado a parte negativa com um juro de 1.02%. Exemplo: Após pagar conta: R$:-IOO >> depósito de R$: 200 >> saldo de R$: 98.
Para consulta deve-se mostrar o Saldo Total, junto um histórico detalhado de saque e deposito, Exemplo (JSON):
"SaldoTotal'': "xx.xx", "Historico":
"type . "saque",
"valor": "x.xx
"data": "dd-MM-yyyy
"type": "saque",
"valor": "x.xx
"data": "dd-MM-yyyy HH:mm:ss"
Cada transação de inserção devera também refletir no Cache de consulta.(MongoDB/Redis)
Perguntas como eu faço para uma aplicação Java Web tradicional gerar um JSON( no caso o histórico de transações)?