Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions build_and_run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
mvn clean package -DskipTests
docker compose down
docker compose up -d --build
21 changes: 8 additions & 13 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ services:
image: mongo:6.0
container_name: mongodb
ports:
- "27018:27017"
- "27019:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: courier
MONGO_INITDB_ROOT_PASSWORD: courier-password
Expand All @@ -29,18 +29,6 @@ services:
networks:
- courier-network

rabbitmq:
image: rabbitmq:3.13-management
container_name: rabbitmq
ports:
- "5672:5672"
- "15672:15672"
environment:
RABBITMQ_DEFAULT_USER: guest
RABBITMQ_DEFAULT_PASS: guest
networks:
- courier-network

courier-service:
build: .
container_name: courier-service
Expand All @@ -51,10 +39,17 @@ services:
MONGO_PASSWORD: courier-password
MONGO_DATABASE: courier-db
MONGO_PORT: 27017
SPRING_RABBITMQ_HOST: host.docker.internal
SPRING_RABBITMQ_PORT: 5672
SPRING_RABBITMQ_USERNAME: guest
SPRING_RABBITMQ_PASSWORD: guest
depends_on:
- mongodb
networks:
- courier-network
extra_hosts:
- "host.docker.internal:host-gateway"


networks:
courier-network:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,9 @@ public void handleEvent(final BaseEvent event) {
deliveryTaskService.createDeliveryTask(deliveryTask);
}
}

@RabbitListener(queues = EventsConstants.COURIER_USER_EVENT_QUEUE)
public void handleUserEvent(final BaseEvent event) {
System.out.println("Received user event: " + event);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.podzilla.courier.dtos.couriers.CourierResponseDto;
import com.podzilla.courier.dtos.couriers.CreateCourierRequestDto;
import com.podzilla.courier.dtos.couriers.UpdateCourierRequestDto;
import com.podzilla.courier.models.Courier;

public class CourierMapper {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ public static DeliveryTask toEntity(final CreateDeliveryTaskRequestDto dto) {
task.setOrderLatitude(dto.getOrderLatitude());
task.setOrderLongitude(dto.getOrderLongitude());
task.setConfirmationType(dto.getConfirmationType());
task.setSignature(dto.getSignature());
return task;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,11 @@ public Pair<Double, Double> getDeliveryTaskLocation(final String orderId) {
LOGGER.info("Fetching location for delivery task with order id: {}", orderId);
Optional<DeliveryTask> deliveryTask = deliveryTaskRepository.findByOrderId(orderId).stream().findFirst();
if (deliveryTask.isPresent()) {
Double latitude = deliveryTask.get().getCourierLatitude();
Double longitude = deliveryTask.get().getCourierLongitude();
Double latitude = deliveryTask.get().getCourierLatitude() + 0.01;
Double longitude = deliveryTask.get().getCourierLongitude() + 0.01;
deliveryTask.get().setCourierLatitude(latitude);
deliveryTask.get().setCourierLongitude(longitude);
deliveryTaskRepository.save(deliveryTask.get());
LOGGER.debug("Location for delivery task with order id: {} is ({}, {})", orderId, latitude, longitude);
return Pair.of(latitude, longitude);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import com.podzilla.mq.EventPublisher;
import com.podzilla.mq.EventsConstants;
import com.podzilla.mq.events.OrderCancelledEvent;
import com.podzilla.mq.events.OrderDeliveredEvent;
import com.podzilla.mq.events.OrderDeliveryFailedEvent;

public class StopPollingCommand implements Command {
private final EventPublisher eventPublisher;
Expand All @@ -17,10 +17,10 @@ public StopPollingCommand(final EventPublisher eventPublisher, final Object even

@Override
public void execute() {
if (event instanceof OrderCancelledEvent) {
OrderCancelledEvent cancelledEvent = (OrderCancelledEvent) event;
if (event instanceof OrderDeliveryFailedEvent) {
OrderDeliveryFailedEvent cancelledEvent = (OrderDeliveryFailedEvent) event;
// publish order_cancelled event so that the order service stops tracking courier location
eventPublisher.publishEvent(EventsConstants.ORDER_CANCELLED, cancelledEvent);
eventPublisher.publishEvent(EventsConstants.ORDER_DELIVERY_FAILED, cancelledEvent);
} else if (event instanceof OrderDeliveredEvent) {
OrderDeliveredEvent deliveredEvent = (OrderDeliveredEvent) event;
// publish order_delivered event so that the order service stops tracking courier location
Expand Down