igrowker / i003-nativo-back

1 stars 0 forks source link

Configurar lógica para seguimiento de microcréditos #13

Open damianfanaro opened 1 week ago

damianfanaro commented 1 week ago

Implementar la lógica en MicrocreditoService para llevar un registro y seguimiento de las solicitudes y contribuciones de microcréditos. Los usuarios deben poder ver los saldos y pagos pendientes de los microcréditos.

EmiiFernandez commented 23 hours ago

BUSCAR MICROCRÉDITO POR ID: http://localhost:8080/api/microcreditos/{id}

action : GET jwt : sí, usuario logueado. body: no tiene


**LISTAR TODOS LOS MICROCRÉDITOS:** 
[http://localhost:8080/api/microcreditos](http://localhost:8080/api/microcreditos)

action : GET
jwt : sí,  usuario logueado.
body: no tiene

- Busca y encuentra todos los microcréditos creados, sea cual sea su estado de transacción.
- Response:

[ { "id": "e8f54a01-d6db-468b-a6df-6f724a1cedb6", "borrowerAccountId": "08df874d-be75-4dbf-8a62-a92257d69eff", "amount": 200000.00, "remainingAmount": 0.00, "createdDate": "2024-09-18", "expirationDate": "2024-09-18", "title": "Test", "description": "test", "transactionStatus": "COMPLETED" }, { "id": "8249dd9b-2724-438d-bff2-2e929f8847d2", "borrowerAccountId": "acec57d5-6a83-4969-92e5-60ca73762286", "amount": 100000.00, "remainingAmount": 80000.00, "createdDate": "2024-09-18", "expirationDate": "2024-09-18", "title": "Test3", "description": "test3", "transactionStatus": "COMPLETED" } ]


**BUSCAR MICROCRÉDITOS POR ESTADO:**
[http://localhost:8080/api/microcreditos/historial-estados/{status}](http://localhost:8080/api/microcreditos/historial-estados/{status})

action : GET
jwt : sí,  usuario logueado.
body: no tiene

- Busca y encuentra todos los microcréditos de un estado de transacción en particular
- Estados:
-- Pendent
-- Expired
-- Failed
-- Accepted
-- Denied
- Response:

{ "id": "e8f54a01-d6db-468b-a6df-6f724a1cedb6", "borrowerAccountId": "08df874d-be75-4dbf-8a62-a92257d69eff", "amount": 200000.00, "remainingAmount": 0.00, "createdDate": "2024-09-18", "expirationDate": "2024-09-18", "title": "Test", "description": "test", "transactionStatus": "COMPLETED" }


**BUSCAR MICROCRÉDITOS DEL USUARIO LOGUEADO:**
[http://localhost:8080/api/microcreditos/estado/{status}](http://localhost:8080/api/microcreditos/estado/{status})

action : GET
jwt : sí,  usuario logueado.
body: no tiene

- Busca y encuentra los microcréditos que le pertenecen al usuario logueado con un estado de transacción en particular 
- Estados:
-- Pendent
-- Expired
-- Failed
-- Accepted
-- Denied
- Response:

{ "id": "e8f54a01-d6db-468b-a6df-6f724a1cedb6", "borrowerAccountId": "08df874d-be75-4dbf-8a62-a92257d69eff", "amount": 200000.00, "remainingAmount": 0.00, "createdDate": "2024-09-18", "expirationDate": "2024-09-18", "title": "Test", "description": "test", "transactionStatus": "COMPLETED" }


**CREAR CONTRIBUCIÓN:**
[http://localhost:8080/api/microcreditos/contribuir](http://localhost:8080/api/microcreditos/contribuir)

action : POST
jwt : sí,  usuario contribuyente no puede ser el mismo que solicitó el microcrédito.
body:

{ "microcreditId": "8940cb28-6c13-4c14-968d-3d4645aa6f9b", "amount": 10000 }

- Notas:
-- Todos los campos son obligatorios.
-- El microcreditId hace referencia al id del microcrédito cuando está creado.
-- El usuario contribuyente tiene que estar logueado en su cuenta.
-- El usuario contribuyente no puede ser el mismo que solicitó el microcrédito.
-- Tiene que colocar un microcreditId que exista. 
- Mensaje de error: 
-- Al buscar el microcrédito: "Microcrédito no encontrado"
-- Al verificar que la cuenta del contribuyente tenga el saldo que quiere contribuir: "Fondos insuficientes"
- Al crear la contribución da como resultado
-- Status: 200
-- Response:

{ "id": "ad9092d4-53fe-46da-8665-6aa727d6b9f2", "lenderAccountId": "c2f99ca5-e6db-4e19-8baa-8cf8fa6ed958", "lenderFullname": "USER2, user2", "borrowerFullname": "USER1, user1", "microcreditId": "8940cb28-6c13-4c14-968d-3d4645aa6f9b", "amount": 10000, "createdDate": "2024-09-19", "expiredDateMicrocredit": "2024-09-20", "transactionStatus": "ACCEPTED" }



**_Nota: Donde dice {id} en la url, eso debe ser reemplazado por la id de cuenta que se quiera consultar y donde dice {status} en la url, debe ser reemplazado por el estado de la transacción._**