7
7
namespace Magento \SalesRule \Model ;
8
8
9
9
use Magento \Quote \Model \Quote \Address ;
10
+ use Magento \Quote \Model \Quote \Item \AbstractItem ;
10
11
use Magento \SalesRule \Model \Quote \ChildrenValidationLocator ;
11
12
use Magento \Framework \App \ObjectManager ;
13
+ use Magento \SalesRule \Model \ResourceModel \Rule \Collection ;
12
14
use Magento \SalesRule \Model \Rule \Action \Discount \CalculatorFactory ;
13
15
14
16
/**
@@ -42,9 +44,9 @@ class RulesApplier
42
44
43
45
/**
44
46
* @param \Magento\SalesRule\Model\Rule\Action\Discount\CalculatorFactory $calculatorFactory
45
- * @param \Magento\Framework\Event\ManagerInterface $eventManager
46
- * @param \Magento\SalesRule\Model\Utility $utility
47
- * @param ChildrenValidationLocator|null $childrenValidationLocator
47
+ * @param \Magento\Framework\Event\ManagerInterface $eventManager
48
+ * @param \Magento\SalesRule\Model\Utility $utility
49
+ * @param ChildrenValidationLocator|null $childrenValidationLocator
48
50
*/
49
51
public function __construct (
50
52
\Magento \SalesRule \Model \Rule \Action \Discount \CalculatorFactory $ calculatorFactory ,
@@ -62,18 +64,18 @@ public function __construct(
62
64
/**
63
65
* Apply rules to current order item
64
66
*
65
- * @param \Magento\Quote\Model\Quote\Item\ AbstractItem $item
66
- * @param \Magento\SalesRule\Model\ResourceModel\Rule\ Collection $rules
67
- * @param bool $skipValidation
68
- * @param mixed $couponCode
69
- * @return array
67
+ * @param AbstractItem $item
68
+ * @param Collection $rules
69
+ * @param bool $skipValidation
70
+ * @param mixed $couponCode
71
+ * @return array
70
72
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
71
73
*/
72
74
public function applyRules ($ item , $ rules , $ skipValidation , $ couponCode )
73
75
{
74
76
$ address = $ item ->getAddress ();
75
77
$ appliedRuleIds = [];
76
- /* @var $rule \Magento\SalesRule\Model\ Rule */
78
+ /* @var $rule Rule */
77
79
foreach ($ rules as $ rule ) {
78
80
if (!$ this ->validatorUtility ->canProcessRule ($ rule , $ address )) {
79
81
continue ;
@@ -111,8 +113,8 @@ public function applyRules($item, $rules, $skipValidation, $couponCode)
111
113
/**
112
114
* Add rule discount description label to address object
113
115
*
114
- * @param Address $address
115
- * @param \Magento\SalesRule\Model\ Rule $rule
116
+ * @param Address $address
117
+ * @param Rule $rule
116
118
* @return $this
117
119
*/
118
120
public function addDiscountDescription ($ address , $ rule )
@@ -142,10 +144,12 @@ public function addDiscountDescription($address, $rule)
142
144
}
143
145
144
146
/**
145
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
146
- * @param \Magento\SalesRule\Model\Rule $rule
147
- * @param \Magento\Quote\Model\Quote\Address $address
148
- * @param mixed $couponCode
147
+ * Apply Rule
148
+ *
149
+ * @param AbstractItem $item
150
+ * @param Rule $rule
151
+ * @param \Magento\Quote\Model\Quote\Address $address
152
+ * @param mixed $couponCode
149
153
* @return $this
150
154
*/
151
155
protected function applyRule ($ item , $ rule , $ address , $ couponCode )
@@ -160,8 +164,10 @@ protected function applyRule($item, $rule, $address, $couponCode)
160
164
}
161
165
162
166
/**
163
- * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item
164
- * @param \Magento\SalesRule\Model\Rule $rule
167
+ * Get discount Data
168
+ *
169
+ * @param AbstractItem $item
170
+ * @param Rule $rule
165
171
* @return \Magento\SalesRule\Model\Rule\Action\Discount\Data
166
172
*/
167
173
protected function getDiscountData ($ item , $ rule )
@@ -187,7 +193,7 @@ protected function getDiscountData($item, $rule)
187
193
188
194
/**
189
195
* @param \Magento\SalesRule\Model\Rule\Action\Discount\Data $discountData
190
- * @param \Magento\Quote\Model\Quote\Item\ AbstractItem $item
196
+ * @param AbstractItem $item
191
197
* @return $this
192
198
*/
193
199
protected function setDiscountData ($ discountData , $ item )
@@ -203,9 +209,9 @@ protected function setDiscountData($discountData, $item)
203
209
/**
204
210
* Set coupon code to address if $rule contains validated coupon
205
211
*
206
- * @param Address $address
207
- * @param \Magento\SalesRule\Model\ Rule $rule
208
- * @param mixed $couponCode
212
+ * @param Address $address
213
+ * @param Rule $rule
214
+ * @param mixed $couponCode
209
215
* @return $this
210
216
*/
211
217
public function maintainAddressCouponCode ($ address , $ rule , $ couponCode )
@@ -214,7 +220,7 @@ public function maintainAddressCouponCode($address, $rule, $couponCode)
214
220
Rule is a part of rules collection, which includes only rules with 'No Coupon' type or with validated coupon.
215
221
As a result, if rule uses coupon code(s) ('Specific' or 'Auto' Coupon Type), it always contains validated coupon
216
222
*/
217
- if ($ rule ->getCouponType () != \ Magento \ SalesRule \ Model \ Rule::COUPON_TYPE_NO_COUPON ) {
223
+ if ($ rule ->getCouponType () != Rule::COUPON_TYPE_NO_COUPON ) {
218
224
$ address ->setCouponCode ($ couponCode );
219
225
}
220
226
@@ -224,16 +230,16 @@ public function maintainAddressCouponCode($address, $rule, $couponCode)
224
230
/**
225
231
* Fire event to allow overwriting of discount amounts
226
232
*
227
- * @param \Magento\SalesRule\Model\Rule\Action\Discount\Data $discountData
228
- * @param \Magento\Quote\Model\Quote\Item\ AbstractItem $item
229
- * @param \Magento\SalesRule\Model\ Rule $rule
230
- * @param float $qty
233
+ * @param \Magento\SalesRule\Model\Rule\Action\Discount\Data $discountData
234
+ * @param AbstractItem $item
235
+ * @param Rule $rule
236
+ * @param float $qty
231
237
* @return $this
232
238
*/
233
239
protected function eventFix (
234
240
\Magento \SalesRule \Model \Rule \Action \Discount \Data $ discountData ,
235
- \ Magento \ Quote \ Model \ Quote \ Item \ AbstractItem $ item ,
236
- \ Magento \ SalesRule \ Model \ Rule $ rule ,
241
+ AbstractItem $ item ,
242
+ Rule $ rule ,
237
243
$ qty
238
244
) {
239
245
$ quote = $ item ->getQuote ();
@@ -255,11 +261,11 @@ protected function eventFix(
255
261
}
256
262
257
263
/**
258
- * @param \Magento\Quote\Model\Quote\Item\ AbstractItem $item
259
- * @param int[] $appliedRuleIds
264
+ * @param AbstractItem $item
265
+ * @param int[] $appliedRuleIds
260
266
* @return $this
261
267
*/
262
- public function setAppliedRuleIds (\ Magento \ Quote \ Model \ Quote \ Item \ AbstractItem $ item , array $ appliedRuleIds )
268
+ public function setAppliedRuleIds (AbstractItem $ item , array $ appliedRuleIds )
263
269
{
264
270
$ address = $ item ->getAddress ();
265
271
$ quote = $ item ->getQuote ();
0 commit comments