Skip to content

Commit

Permalink
[framework] order info is now asynchronously sent to Heureka after or…
Browse files Browse the repository at this point in the history
…der is created (#2936)
  • Loading branch information
vitek-rostislav authored Dec 14, 2023
2 parents c05e3c4 + 0ad3f81 commit eb6824b
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 3 deletions.
2 changes: 2 additions & 0 deletions app/.env.test
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ GOPAY_EN_CLIENTSECRET=test-data
GOPAY_CS_GOID=test-data
GOPAY_CS_CLIENTID=test-data
GOPAY_CS_CLIENTSECRET=test-data

MESSENGER_TRANSPORT_DSN=in-memory://
14 changes: 14 additions & 0 deletions app/config/packages/messenger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,20 @@ framework:
type: direct
queues:
example_queue: ~
placed_order_transport:
dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
options:
vhost: '%env(MESSENGER_TRANSPORT_VHOST)%'
exchange:
name: placed_order_exchange
type: direct
queues:
placed_orders: ~
retry_strategy:
max_retries: 5
delay: 60000
multiplier: 5

routing:
Shopsys\FrameworkBundle\Component\Messenger\ExampleMessage: example_transport
Shopsys\FrameworkBundle\Model\Order\Messenger\PlacedOrderMessage: placed_order_transport
4 changes: 2 additions & 2 deletions app/config/packages/monolog.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
monolog:
channels: ["cron", "slow"]
channels: ["cron", "queue", "slow"]
handlers:
sentry:
type: stream
Expand All @@ -13,7 +13,7 @@ monolog:
VERBOSITY_VERBOSE: DEBUG
VERBOSITY_VERY_VERBOSE: DEBUG
VERBOSITY_DEBUG: DEBUG
channels: cron
channels: [cron, queue]
cron_output:
type: stream
path: "%shopsys.log_stream%"
Expand Down
1 change: 1 addition & 0 deletions app/deploy/deploy-project.sh
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ function merge() {
# <consumer-name>:<transport-names-separated-by-space>:<number-of-consumers>
DEFAULT_CONSUMERS=(
"example:example_transport:1"
"placed_order:placed_order_transport:1"
)

source "${BASE_PATH}/vendor/shopsys/deployment/deploy/functions.sh"
Expand Down
1 change: 1 addition & 0 deletions app/docker/php-fpm/consumer-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ TIME_LIMIT=${1:-60}

php ./bin/console messenger:consume \
example_transport \
placed_order_transport \
--time-limit=$TIME_LIMIT
6 changes: 6 additions & 0 deletions app/src/FrontendApi/Model/Order/PlaceOrderFacade.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
use Shopsys\FrameworkBundle\Model\Customer\User\CustomerUserFacade;
use Shopsys\FrameworkBundle\Model\Newsletter\NewsletterFacade;
use Shopsys\FrameworkBundle\Model\Order\Item\OrderProductFacade;
use Shopsys\FrameworkBundle\Model\Order\Messenger\PlacedOrderMessageDispatcher;
use Shopsys\FrameworkBundle\Model\Order\Order;
use Shopsys\FrameworkBundle\Model\Order\OrderData;
use Shopsys\FrameworkBundle\Model\Order\OrderFacade;
Expand All @@ -42,6 +43,7 @@ class PlaceOrderFacade extends BasePlaceOrderFacade
* @param \Shopsys\FrameworkBundle\Component\Domain\Domain $domain
* @param \App\Model\Customer\User\CurrentCustomerUser $currentCustomerUser
* @param \App\Model\Customer\User\CustomerUserFacade $customerUserFacade
* @param \Shopsys\FrameworkBundle\Model\Order\Messenger\PlacedOrderMessageDispatcher $placedOrderMessageDispatcher
* @param \App\Model\Order\PromoCode\PromoCodeLimitResolver $promoCodeLimitResolver
* @param \App\Model\Customer\DeliveryAddressDataFactory $deliveryAddressDataFactory
* @param \Shopsys\FrameworkBundle\Model\Customer\DeliveryAddressFactory $deliveryAddressFactory
Expand All @@ -57,6 +59,7 @@ public function __construct(
Domain $domain,
CurrentCustomerUser $currentCustomerUser,
CustomerUserFacade $customerUserFacade,
PlacedOrderMessageDispatcher $placedOrderMessageDispatcher,
private PromoCodeLimitResolver $promoCodeLimitResolver,
private DeliveryAddressDataFactory $deliveryAddressDataFactory,
private DeliveryAddressFactory $deliveryAddressFactory,
Expand All @@ -72,6 +75,7 @@ public function __construct(
$domain,
$currentCustomerUser,
$customerUserFacade,
$placedOrderMessageDispatcher,
);
}

Expand Down Expand Up @@ -126,6 +130,8 @@ public function placeOrder(
}
}

$this->placedOrderMessageDispatcher->dispatchPlacedOrderMessage($order->getId());

return $order;
}

Expand Down
1 change: 0 additions & 1 deletion app/src/Model/Order/OrderFacade.php
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@
* @property \Shopsys\FrameworkBundle\Component\Domain\Domain $domain
* @property \Shopsys\FrameworkBundle\Model\Transport\TransportPriceCalculation $transportPriceCalculation
* @property \App\Model\Order\Item\OrderItemFactory $orderItemFactory
* @method sendHeurekaOrderInfo(\App\Model\Order\Order $order, bool $disallowHeurekaVerifiedByCustomers)
* @method prefillFrontOrderData(\App\Model\Order\FrontOrderData $orderData, \App\Model\Customer\User\CustomerUser $customerUser)
* @method \App\Model\Order\Order[] getCustomerUserOrderList(\App\Model\Customer\User\CustomerUser $customerUser)
* @method \App\Model\Order\Order[] getCustomerUserOrderLimitedList(\App\Model\Customer\User\CustomerUser $customerUser, int $limit, int $offset)
Expand Down

0 comments on commit eb6824b

Please sign in to comment.