How ailtonocchi/spring-boot-langchain4j-demo works
This is a Spring Boot sales-support application with two user-facing paths: direct order REST operations and a conversational assistant. The assistant keeps session-scoped context, can dispatch order queries and identity-checked order actions through tools, and uses the same order service and repository as the direct API. The repository maps orders, users, and products to PostgreSQL. The README also describes product-related assistance, but the sampled tools expose order operations only; its implementation is therefore not shown. Assistant and persistence wiring beyond sampled source is inferred only where documented.
Main entry points: AssistenteSuporteVendas.java Assistant service · Pedido.java Order entity · PedidoService.java Order service · PedidoRepository.java Order repository
Components 17
REST entry points
- Assistant API
src/main/java/br/com/occhi/suporte/controllers/AssistenteSuporteVendasController.java - Orders API
src/main/java/br/com/occhi/suporte/controllers/PedidoController.java - Spring application
src/main/java/br/com/occhi/suporte/SuporteVendasApplication.java
AI support
- Assistant service
src/main/java/br/com/occhi/suporte/services/AssistenteSuporteVendas.java - Session memory
src/main/java/br/com/occhi/suporte/config/AgentConfiguration.java - Order tools
src/main/java/br/com/occhi/suporte/services/PedidoTool.java
Order operations
- Order service
src/main/java/br/com/occhi/suporte/services/PedidoService.java - Order details DTO
src/main/java/br/com/occhi/suporte/records/DetalhesPedido.java - Order status
src/main/java/br/com/occhi/suporte/enums/StatusPedido.java
Order data
- Order repository
src/main/java/br/com/occhi/suporte/repositories/PedidoRepository.java - Order entity
src/main/java/br/com/occhi/suporte/entities/Pedido.java - User entity
src/main/java/br/com/occhi/suporte/entities/Usuario.java - Product entity
src/main/java/br/com/occhi/suporte/entities/Produto.java - Sample data schema
src/main/resources/static/db/database.sql
Other components
- Customer
- OpenAI model
- PostgreSQL
Connections 18
- Customer → Assistant API: sends chat
- Customer → Orders API: calls REST
- Assistant API → Assistant service: submits message
- Assistant service → Session memory: gets session memory
- Assistant service → OpenAI model: requests response
- Assistant service → Order tools: dispatches tools
- Orders API → Order service: calls operations
- Order tools → Order service: calls operations
- Order service → Order repository: queries or saves
- Order repository → PostgreSQL: reads or writes
- Order repository → Order entity: loads entities
- Order service → Order details DTO: builds details
- Order entity → User entity: references owner
- Order entity → Product entity: references products
- Order entity → Order status: uses status
- Spring application → Assistant API: serves endpoints
- Spring application → Orders API: serves endpoints
- Sample data schema → PostgreSQL: defines and seeds