|
23 | 23 | use Bavix\Wallet\Services\BasketServiceInterface; |
24 | 24 | use Bavix\Wallet\Services\CastServiceInterface; |
25 | 25 | use Bavix\Wallet\Services\ConsistencyServiceInterface; |
| 26 | +use Bavix\Wallet\Services\EagerLoaderServiceInterface; |
26 | 27 | use Bavix\Wallet\Services\PrepareServiceInterface; |
27 | 28 | use Bavix\Wallet\Services\PurchaseServiceInterface; |
28 | 29 | use Bavix\Wallet\Services\TransferServiceInterface; |
@@ -55,6 +56,7 @@ public function payFreeCart(CartInterface $cart): array |
55 | 56 | $basketDto = $cart->getBasketDto(); |
56 | 57 | $basketService = app(BasketServiceInterface::class); |
57 | 58 | $availabilityAssembler = app(AvailabilityDtoAssemblerInterface::class); |
| 59 | + app(EagerLoaderServiceInterface::class)->loadWalletsByBasket($basketDto); |
58 | 60 | if (!$basketService->availability($availabilityAssembler->create($this, $basketDto, false))) { |
59 | 61 | throw new ProductEnded( |
60 | 62 | app(TranslatorServiceInterface::class)->get('wallet::errors.product_stock'), |
@@ -111,6 +113,7 @@ public function payCart(CartInterface $cart, bool $force = false): array |
111 | 113 | $basketDto = $cart->getBasketDto(); |
112 | 114 | $basketService = app(BasketServiceInterface::class); |
113 | 115 | $availabilityAssembler = app(AvailabilityDtoAssemblerInterface::class); |
| 116 | + app(EagerLoaderServiceInterface::class)->loadWalletsByBasket($basketDto); |
114 | 117 | if (!$basketService->availability($availabilityAssembler->create($this, $basketDto, $force))) { |
115 | 118 | throw new ProductEnded( |
116 | 119 | app(TranslatorServiceInterface::class)->get('wallet::errors.product_stock'), |
@@ -188,6 +191,7 @@ public function refundCart(CartInterface $cart, bool $force = false, bool $gifts |
188 | 191 | { |
189 | 192 | return app(AtomicServiceInterface::class)->block($this, function () use ($cart, $force, $gifts) { |
190 | 193 | $basketDto = $cart->getBasketDto(); |
| 194 | + app(EagerLoaderServiceInterface::class)->loadWalletsByBasket($basketDto); |
191 | 195 | $transfers = app(PurchaseServiceInterface::class)->already($this, $basketDto, $gifts); |
192 | 196 | if (count($transfers) !== $basketDto->total()) { |
193 | 197 | throw new ModelNotFoundException( |
|
0 commit comments