diff --git a/src/main/java/auctiora/QuarkusWorkflowScheduler.java b/src/main/java/auctiora/QuarkusWorkflowScheduler.java index 882d0a1..fc8f425 100644 --- a/src/main/java/auctiora/QuarkusWorkflowScheduler.java +++ b/src/main/java/auctiora/QuarkusWorkflowScheduler.java @@ -1,7 +1,9 @@ package auctiora; +import io.quarkus.runtime.StartupEvent; import io.quarkus.scheduler.Scheduled; import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.event.Observes; import jakarta.inject.Inject; import org.eclipse.microprofile.config.inject.ConfigProperty; import org.jboss.logging.Logger; @@ -31,9 +33,26 @@ public class QuarkusWorkflowScheduler { @Inject ImageProcessingService imageProcessor; - + + @Inject + LotEnrichmentService enrichmentService; + @ConfigProperty(name = "auction.database.path") String databasePath; + + /** + * Triggered on application startup to enrich existing lots with bid intelligence + */ + void onStart(@Observes StartupEvent ev) { + LOG.info("🚀 Application started - triggering initial lot enrichment..."); + try { + // Enrich lots closing within 24 hours as high priority on startup + int enriched = enrichmentService.enrichClosingSoonLots(24); + LOG.infof("✓ Startup enrichment complete: %d lots enriched", enriched); + } catch (Exception e) { + LOG.errorf(e, "❌ Startup enrichment failed: %s", e.getMessage()); + } + } /** * Workflow 1: Import Scraper Data