From cc4b649494d4e133a9dd49a925d6971084ac8350 Mon Sep 17 00:00:00 2001 From: Mohamed Date: Mon, 19 May 2025 23:37:21 +0300 Subject: [PATCH] fix: hot fix --- .../analytics/config/DatabaseSeeder.java | 44 +++++++++---------- .../order/OrderDeliveryFailedInvoker.java | 2 +- .../com/Podzilla/analytics/models/Order.java | 4 +- .../services/OrderAnalyticsService.java | 16 +++---- src/main/resources/application.properties | 1 + 5 files changed, 34 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/Podzilla/analytics/config/DatabaseSeeder.java b/src/main/java/com/Podzilla/analytics/config/DatabaseSeeder.java index 57eb4a0..5cca8ef 100644 --- a/src/main/java/com/Podzilla/analytics/config/DatabaseSeeder.java +++ b/src/main/java/com/Podzilla/analytics/config/DatabaseSeeder.java @@ -96,37 +96,37 @@ public class DatabaseSeeder implements CommandLineRunner { @Override @Transactional public void run(final String... args) { - System.out.println("Checking if database needs seeding..."); + // System.out.println("Checking if database needs seeding..."); - if (courierRepository.count() > 0) { - System.out.println("Database already seeded. Skipping."); - return; - } + // if (courierRepository.count() > 0) { + // System.out.println("Database already seeded. Skipping."); + // return; + // } - System.out.println("Seeding database..."); + // System.out.println("Seeding database..."); - List regions = seedRegions(); - System.out.println("Seeded Regions: " + regions.size()); + // List regions = seedRegions(); + // System.out.println("Seeded Regions: " + regions.size()); - List products = seedProducts(); - System.out.println("Seeded Products: " + products.size()); + // List products = seedProducts(); + // System.out.println("Seeded Products: " + products.size()); - List couriers = seedCouriers(); - System.out.println("Seeded Couriers: " + couriers.size()); + // List couriers = seedCouriers(); + // System.out.println("Seeded Couriers: " + couriers.size()); - List customers = seedCustomers(); - System.out.println("Seeded Customers: " + customers.size()); + // List customers = seedCustomers(); + // System.out.println("Seeded Customers: " + customers.size()); - System.out.println("Seeding Orders and SalesLineItems..."); - seedOrders(customers, couriers, regions, products); - System.out.println("Seeded Orders: " + orderRepository.count()); + // System.out.println("Seeding Orders and SalesLineItems..."); + // seedOrders(customers, couriers, regions, products); + // System.out.println("Seeded Orders: " + orderRepository.count()); - System.out.println("Seeding Inventory Snapshots..."); - seedProductSnapshots(products); - System.out.println("Seeded Product Snapshots: " - + productSnapshotRepository.count()); + // System.out.println("Seeding Inventory Snapshots..."); + // seedProductSnapshots(products); + // System.out.println("Seeded Product Snapshots: " + // + productSnapshotRepository.count()); - System.out.println("Database seeding finished."); + // System.out.println("Database seeding finished."); } private List seedRegions() { diff --git a/src/main/java/com/Podzilla/analytics/messaging/invokers/order/OrderDeliveryFailedInvoker.java b/src/main/java/com/Podzilla/analytics/messaging/invokers/order/OrderDeliveryFailedInvoker.java index c483511..ddbdaa5 100644 --- a/src/main/java/com/Podzilla/analytics/messaging/invokers/order/OrderDeliveryFailedInvoker.java +++ b/src/main/java/com/Podzilla/analytics/messaging/invokers/order/OrderDeliveryFailedInvoker.java @@ -21,7 +21,7 @@ public void invoke(final OrderDeliveryFailedEvent event) { MarkOrderAsFailedToDeliverCommand command = commandFactory.createMarkOrderAsFailedToDeliverCommand( event.getOrderId(), - event.getCourierId(), + event.getReason(), event.getTimestamp() ); command.execute(); diff --git a/src/main/java/com/Podzilla/analytics/models/Order.java b/src/main/java/com/Podzilla/analytics/models/Order.java index 16c3b90..c109d57 100644 --- a/src/main/java/com/Podzilla/analytics/models/Order.java +++ b/src/main/java/com/Podzilla/analytics/models/Order.java @@ -48,7 +48,7 @@ public class Order { private BigDecimal courierRating; @ManyToOne - @JoinColumn(name = "customer_id", nullable = false) + @JoinColumn(name = "customer_id", nullable = true) private Customer customer; @ManyToOne @@ -56,7 +56,7 @@ public class Order { private Courier courier; @ManyToOne - @JoinColumn(name = "region_id", nullable = false) + @JoinColumn(name = "region_id", nullable = true) private Region region; @OneToMany(mappedBy = "order", cascade = CascadeType.ALL) diff --git a/src/main/java/com/Podzilla/analytics/services/OrderAnalyticsService.java b/src/main/java/com/Podzilla/analytics/services/OrderAnalyticsService.java index 4c05379..3a6e491 100644 --- a/src/main/java/com/Podzilla/analytics/services/OrderAnalyticsService.java +++ b/src/main/java/com/Podzilla/analytics/services/OrderAnalyticsService.java @@ -257,14 +257,14 @@ public void markOrderAsFailedToFulfill( UUID orderUUID = StringToUUIDParser.parseStringToUUID(orderId); LocalDateTime orderFulfillmentFailedTimestamp = DatetimeFormatter .convertIntsantToDateTime(timeStamp); - Order order = orderRepository.findById(orderUUID) - .orElseThrow(() -> new RuntimeException( - "Order not found")); - order.setStatus(OrderStatus.FULFILLMENT_FAILED); - order.setFailureReason(reason); - order.setOrderFulfillmentFailedTimestamp( - orderFulfillmentFailedTimestamp); - order.setFinalStatusTimestamp(orderFulfillmentFailedTimestamp); + Order order = Order.builder() + .id(orderUUID) + .status(OrderStatus.FULFILLMENT_FAILED) + .failureReason(reason) + .orderFulfillmentFailedTimestamp( + orderFulfillmentFailedTimestamp) + .finalStatusTimestamp(orderFulfillmentFailedTimestamp) + .build(); orderRepository.save(order); } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 494844a..4de7429 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,4 +1,5 @@ spring.application.name=analytics +server.servlet.context-path=/api # Database Configuration spring.datasource.url=${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/analytics_db_dev}