|
2 | 2 |
|
3 | 3 | declare(strict_types=1); |
4 | 4 |
|
5 | | -namespace Bavix\Wallet\Internal\Service; |
| 5 | +namespace Bavix\Wallet\Services; |
6 | 6 |
|
7 | 7 | use Bavix\Wallet\Interfaces\Wallet; |
8 | 8 | use Bavix\Wallet\Internal\Assembler\TransactionDtoAssemblerInterface; |
9 | 9 | use Bavix\Wallet\Internal\Assembler\TransferLazyDtoAssemblerInterface; |
10 | 10 | use Bavix\Wallet\Internal\Dto\TransactionDto; |
11 | 11 | use Bavix\Wallet\Internal\Dto\TransferLazyDto; |
| 12 | +use Bavix\Wallet\Internal\Service\MathServiceInterface; |
12 | 13 | use Bavix\Wallet\Models\Transaction; |
13 | | -use Bavix\Wallet\Services\CastServiceInterface; |
14 | | -use Bavix\Wallet\Services\ConsistencyServiceInterface; |
15 | | -use Bavix\Wallet\Services\WalletServiceLegacy; |
16 | 14 |
|
17 | 15 | final class PrepareService implements PrepareServiceInterface |
18 | 16 | { |
19 | 17 | private TransferLazyDtoAssemblerInterface $transferLazyDtoAssembler; |
20 | 18 | private TransactionDtoAssemblerInterface $transactionDtoAssembler; |
| 19 | + private DiscountServiceInterface $personalDiscountService; |
21 | 20 | private ConsistencyServiceInterface $consistencyService; |
22 | | - private WalletServiceLegacy $walletService; |
23 | 21 | private CastServiceInterface $castService; |
24 | 22 | private MathServiceInterface $mathService; |
| 23 | + private TaxServiceInterface $taxService; |
25 | 24 |
|
26 | 25 | public function __construct( |
27 | 26 | TransferLazyDtoAssemblerInterface $transferLazyDtoAssembler, |
28 | 27 | TransactionDtoAssemblerInterface $transactionDtoAssembler, |
| 28 | + DiscountServiceInterface $personalDiscountService, |
29 | 29 | ConsistencyServiceInterface $consistencyService, |
30 | | - WalletServiceLegacy $walletService, |
31 | 30 | CastServiceInterface $castService, |
32 | | - MathServiceInterface $mathService |
| 31 | + MathServiceInterface $mathService, |
| 32 | + TaxServiceInterface $taxService |
33 | 33 | ) { |
34 | 34 | $this->transferLazyDtoAssembler = $transferLazyDtoAssembler; |
35 | 35 | $this->transactionDtoAssembler = $transactionDtoAssembler; |
| 36 | + $this->personalDiscountService = $personalDiscountService; |
36 | 37 | $this->consistencyService = $consistencyService; |
37 | | - $this->walletService = $walletService; |
38 | 38 | $this->castService = $castService; |
39 | 39 | $this->mathService = $mathService; |
| 40 | + $this->taxService = $taxService; |
40 | 41 | } |
41 | 42 |
|
42 | 43 | public function deposit(Wallet $wallet, string $amount, ?array $meta, bool $confirmed = true): TransactionDto |
@@ -72,9 +73,9 @@ public function withdraw(Wallet $wallet, string $amount, ?array $meta, bool $con |
72 | 73 | */ |
73 | 74 | public function transferLazy(Wallet $from, Wallet $to, string $status, $amount, ?array $meta = null): TransferLazyDto |
74 | 75 | { |
75 | | - $discount = $this->walletService->discount($from, $to); |
| 76 | + $discount = $this->personalDiscountService->getDiscount($from, $to); |
76 | 77 | $from = $this->castService->getWallet($from); |
77 | | - $fee = $this->walletService->fee($to, $amount); |
| 78 | + $fee = $this->taxService->getFee($to, $amount); |
78 | 79 |
|
79 | 80 | $amountWithoutDiscount = $this->mathService->sub($amount, $discount); |
80 | 81 | $depositAmount = $this->mathService->compare($amountWithoutDiscount, 0) === -1 ? '0' : $amountWithoutDiscount; |
|
0 commit comments