7
7
8
8
namespace Magento \QuoteGraphQl \Model \Cart ;
9
9
10
- use Magento \SalesRule \Model \Rule \Action \Discount \DataFactory ;
11
10
use Magento \Quote \Model \Quote ;
12
11
13
12
/**
17
16
*/
18
17
class DiscountAggregator
19
18
{
20
- /**
21
- * @var DataFactory
22
- */
23
- private $ discountFactory ;
24
-
25
- /**
26
- * @param DataFactory|null $discountDataFactory
27
- */
28
- public function __construct (
29
- DataFactory $ discountDataFactory
30
- ) {
31
- $ this ->discountFactory = $ discountDataFactory ;
32
- }
33
-
34
19
/**
35
20
* Aggregate Discount per rule
36
21
*
@@ -50,24 +35,11 @@ public function aggregateDiscountPerRule(
50
35
$ discount = $ value ['discount ' ];
51
36
$ rule = $ value ['rule ' ];
52
37
if (isset ($ discountPerRule [$ key ])) {
53
- /* @var \Magento\SalesRule\Model\Rule\Action\Discount\Data $ruleDiscount */
54
- $ ruleDiscount = $ this ->discountFactory ->create ();
55
- /* @var \Magento\SalesRule\Model\Rule\Action\Discount\Data $discountData */
56
- $ discountData = $ discountPerRule [$ key ]['discount ' ];
57
- $ ruleDiscount ->setAmount ($ discountData ->getAmount ()+$ discount ->getAmount ());
58
- $ ruleDiscount ->setBaseAmount ($ discountData ->getBaseAmount ()+$ discount ->getBaseAmount ());
59
- $ ruleDiscount ->setOriginalAmount (
60
- $ discountData ->getOriginalAmount ()+$ discount ->getOriginalAmount ()
61
- );
62
- $ ruleDiscount ->setBaseOriginalAmount (
63
- $ discountData ->getBaseOriginalAmount ()+$ discount ->getBaseOriginalAmount ()
64
- );
65
- $ discountPerRule [$ key ]['discount ' ] = $ ruleDiscount ;
66
- $ discountPerRule [$ key ]['rule ' ] = $ rule ;
38
+ $ discountPerRule [$ key ]['discount ' ] += $ discount ->getAmount ();
67
39
} else {
68
- $ discountPerRule [$ key ]['discount ' ] = $ discount ;
69
- $ discountPerRule [$ key ]['rule ' ] = $ rule ;
40
+ $ discountPerRule [$ key ]['discount ' ] = $ discount ->getAmount ();
70
41
}
42
+ $ discountPerRule [$ key ]['rule ' ] = $ rule ;
71
43
}
72
44
}
73
45
}
0 commit comments