Skip to content

Commit 62f084b

Browse files
author
Prabhu Ram
committed
MC-20648: Implement the changes
- Review fixes
1 parent 96a257b commit 62f084b

File tree

7 files changed

+106
-36
lines changed

7 files changed

+106
-36
lines changed

app/code/Magento/SalesRule/Api/Data/DiscountDataInterface.php

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
7+
68
namespace Magento\SalesRule\Api\Data;
79

810
interface DiscountDataInterface
@@ -12,26 +14,58 @@ interface DiscountDataInterface
1214
*
1315
* @return float
1416
*/
15-
public function getAmount();
17+
public function getAmount(): float;
18+
19+
/**
20+
* Set Amount
21+
*
22+
* @param float $amount
23+
* @return $this
24+
*/
25+
public function setAmount(float $amount);
1626

1727
/**
1828
* Get Base Amount
1929
*
2030
* @return float
2131
*/
22-
public function getBaseAmount();
32+
public function getBaseAmount(): float;
33+
34+
/**
35+
* Set Base Amount
36+
*
37+
* @param float $baseAmount
38+
* @return $this
39+
*/
40+
public function setBaseAmount(float $baseAmount);
2341

2442
/**
2543
* Get Original Amount
2644
*
2745
* @return float
2846
*/
29-
public function getOriginalAmount();
47+
public function getOriginalAmount(): float;
48+
49+
/**
50+
* Set original Amount
51+
*
52+
* @param float $originalAmount
53+
* @return $this
54+
*/
55+
public function setOriginalAmount(float $originalAmount);
3056

3157
/**
3258
* Get Base Original Amount
3359
*
3460
* @return float
3561
*/
36-
public function getBaseOriginalAmount();
62+
public function getBaseOriginalAmount(): float;
63+
64+
/**
65+
* Set base original Amount
66+
*
67+
* @param float $baseOriginalAmount
68+
* @return $this
69+
*/
70+
public function setBaseOriginalAmount(float $baseOriginalAmount);
3771
}

app/code/Magento/SalesRule/Api/Data/RuleDiscountInterface.php

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
7+
declare(strict_types=1);
8+
69
namespace Magento\SalesRule\Api\Data;
710

811
/**
@@ -15,19 +18,43 @@ interface RuleDiscountInterface
1518
*
1619
* @return \Magento\SalesRule\Api\Data\DiscountDataInterface
1720
*/
18-
public function getDiscountData();
21+
public function getDiscountData(): DiscountDataInterface;
22+
23+
/**
24+
* Set discount data
25+
*
26+
* @param DiscountDataInterface $discountData
27+
* @return $this
28+
*/
29+
public function setDiscountData(DiscountDataInterface $discountData);
30+
31+
/**
32+
* Set Rule Label
33+
*
34+
* @param string $ruleLabel
35+
* @return $this
36+
*/
37+
public function setRuleLabel(string $ruleLabel);
1938

2039
/**
2140
* Get Rule Label
2241
*
2342
* @return string
2443
*/
25-
public function getRuleLabel();
44+
public function getRuleLabel(): ?string;
45+
46+
/**
47+
* Set Rule Id
48+
*
49+
* @param int $ruleID
50+
* @return $this
51+
*/
52+
public function setRuleID(int $ruleID);
2653

2754
/**
2855
* Get Rule ID
2956
*
30-
* @return string
57+
* @return int
3158
*/
32-
public function getRuleID();
59+
public function getRuleID(): ?int;
3360
}

app/code/Magento/SalesRule/Model/Data/RuleDiscount.php

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
67

78
namespace Magento\SalesRule\Model\Data;
89

9-
use Magento\SalesRule\Model\Rule\Action\Discount\Data;
1010
use Magento\SalesRule\Api\Data\RuleDiscountInterface;
11+
use Magento\SalesRule\Api\Data\DiscountDataInterface;
12+
use Magento\Framework\Api\ExtensionAttributesInterface;
1113

1214
/**
1315
* Data Model for Rule Discount
@@ -21,30 +23,30 @@ class RuleDiscount extends \Magento\Framework\Api\AbstractExtensibleObject imple
2123
/**
2224
* Get Discount Data
2325
*
24-
* @return Data
26+
* @return DiscountDataInterface
2527
*/
26-
public function getDiscountData()
28+
public function getDiscountData(): DiscountDataInterface
2729
{
2830
return $this->_get(self::KEY_DISCOUNT_DATA);
2931
}
3032

3133
/**
3234
* Get Rule Label
3335
*
34-
* @return mixed|null
36+
* @return string
3537
*/
36-
public function getRuleLabel()
38+
public function getRuleLabel(): ?string
3739
{
3840
return $this->_get(self::KEY_RULE_LABEL);
3941
}
4042

4143
/**
4244
* Set Discount Data
4345
*
44-
* @param Data $discountData
46+
* @param DiscountDataInterface $discountData
4547
* @return RuleDiscount
4648
*/
47-
public function setDiscountData(Data $discountData)
49+
public function setDiscountData(DiscountDataInterface $discountData)
4850
{
4951
return $this->setData(self::KEY_DISCOUNT_DATA, $discountData);
5052
}
@@ -63,28 +65,28 @@ public function setRuleLabel(string $ruleLabel)
6365
/**
6466
* Get Rule ID
6567
*
66-
* @return string
68+
* @return int
6769
*/
68-
public function getRuleID()
70+
public function getRuleID(): ?int
6971
{
7072
return $this->_get(self::KEY_RULE_ID);
7173
}
7274

7375
/**
7476
* Set Rule ID
7577
*
76-
* @param string $ruleID
78+
* @param int $ruleID
7779
* @return RuleDiscount
7880
*/
79-
public function setRuleID(string $ruleID)
81+
public function setRuleID(int $ruleID)
8082
{
8183
return $this->setData(self::KEY_RULE_ID, $ruleID);
8284
}
8385

8486
/**
8587
* Retrieve existing extension attributes object or create a new one.
8688
*
87-
* @return RuleDiscountInterface|null
89+
* @return ExtensionAttributesInterface|null
8890
*/
8991
public function getExtensionAttributes()
9092
{
@@ -94,11 +96,11 @@ public function getExtensionAttributes()
9496
/**
9597
* Set an extension attributes object.
9698
*
97-
* @param RuleDiscountInterface $extensionAttributes
99+
* @param ExtensionAttributesInterface $extensionAttributes
98100
* @return $this
99101
*/
100102
public function setExtensionAttributes(
101-
RuleDiscountInterface $extensionAttributes
103+
ExtensionAttributesInterface $extensionAttributes
102104
) {
103105
return $this->_setExtensionAttributes($extensionAttributes);
104106
}

app/code/Magento/SalesRule/Model/Plugin/Discount.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
7+
68
namespace Magento\SalesRule\Model\Plugin;
79

810
use Magento\Framework\Serialize\Serializer\Json;
911
use Magento\SalesRule\Model\Rule\Action\Discount\DataFactory;
1012
use Magento\Quote\Model\Quote;
1113
use Magento\Framework\Data\Collection;
1214
use Magento\SalesRule\Api\Data\RuleDiscountInterfaceFactory;
15+
use Magento\SalesRule\Model\Rule\Action\Discount\Data;
1316

1417
/**
1518
* Plugin for persisting discounts along with Quote Address
@@ -57,7 +60,7 @@ public function __construct(
5760
public function afterGetItemsCollection(
5861
Quote $subject,
5962
Collection $result
60-
) {
63+
): Collection {
6164
foreach ($result as $item) {
6265
if ($item->getDiscounts() && !$item->getExtensionAttributes()->getDiscounts()) {
6366
$unserializeDiscounts = $this->json->unserialize($item->getDiscounts());
@@ -87,7 +90,7 @@ public function afterGetItemsCollection(
8790
public function afterGetAllAddresses(
8891
Quote $subject,
8992
array $result
90-
) {
93+
): array {
9194
foreach ($result as $address) {
9295
if ($address->getDiscounts() && !$address->getExtensionAttributes()->getDiscounts()) {
9396
$unserializedDiscounts = $this->json->unserialize($address->getDiscounts());
@@ -110,9 +113,9 @@ public function afterGetAllAddresses(
110113
* Unserialize discount object
111114
*
112115
* @param string $serializedDiscount
113-
* @return \Magento\SalesRule\Model\Rule\Action\Discount\Data
116+
* @return Data
114117
*/
115-
private function unserializeDiscountData(string $serializedDiscount)
118+
private function unserializeDiscountData(string $serializedDiscount): Data
116119
{
117120
$discountArray = $this->json->unserialize($serializedDiscount);
118121
$discountData = $this->discountFactory->create();

app/code/Magento/SalesRule/Model/Plugin/ResourceModel/Discount.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
7+
68
namespace Magento\SalesRule\Model\Plugin\ResourceModel;
79

810
use Magento\Framework\Serialize\Serializer\Json;
@@ -36,7 +38,7 @@ public function __construct(Json $json)
3638
public function beforeSave(
3739
\Magento\Quote\Model\ResourceModel\Quote $subject,
3840
\Magento\Framework\Model\AbstractModel $object
39-
) {
41+
): array {
4042
foreach ($object->getAllAddresses() as $address) {
4143
$discounts = $address->getExtensionAttributes()->getDiscounts();
4244
$serializedDiscounts= [];

app/code/Magento/SalesRule/Model/Quote/Item/Plugin/Discount.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
declare(strict_types=1);
7+
68
namespace Magento\SalesRule\Model\Quote\Item\Plugin;
79

810
use Magento\Quote\Model\Quote\Item\CartItemPersister;
@@ -35,7 +37,7 @@ public function __construct(Json $json)
3537
* @return array
3638
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
3739
*/
38-
public function beforeSave(CartItemPersister $subject, CartInterface $quote, CartItemInterface $cartItem)
40+
public function beforeSave(CartItemPersister $subject, CartInterface $quote, CartItemInterface $cartItem): array
3941
{
4042
$cartExtension = $cartItem->getExtensionAttributes();
4143
$discounts = $cartExtension->getDiscounts();

app/code/Magento/SalesRule/Model/Rule/Action/Discount/Data.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public function __construct()
5050
* @param float $amount
5151
* @return $this
5252
*/
53-
public function setAmount($amount)
53+
public function setAmount(float $amount)
5454
{
5555
$this->amount = $amount;
5656
return $this;
@@ -61,7 +61,7 @@ public function setAmount($amount)
6161
*
6262
* @return float
6363
*/
64-
public function getAmount()
64+
public function getAmount(): float
6565
{
6666
return $this->amount;
6767
}
@@ -72,7 +72,7 @@ public function getAmount()
7272
* @param float $baseAmount
7373
* @return $this
7474
*/
75-
public function setBaseAmount($baseAmount)
75+
public function setBaseAmount(float $baseAmount)
7676
{
7777
$this->baseAmount = $baseAmount;
7878
return $this;
@@ -83,7 +83,7 @@ public function setBaseAmount($baseAmount)
8383
*
8484
* @return float
8585
*/
86-
public function getBaseAmount()
86+
public function getBaseAmount(): float
8787
{
8888
return $this->baseAmount;
8989
}
@@ -94,7 +94,7 @@ public function getBaseAmount()
9494
* @param float $originalAmount
9595
* @return $this
9696
*/
97-
public function setOriginalAmount($originalAmount)
97+
public function setOriginalAmount(float $originalAmount)
9898
{
9999
$this->originalAmount = $originalAmount;
100100
return $this;
@@ -105,7 +105,7 @@ public function setOriginalAmount($originalAmount)
105105
*
106106
* @return float
107107
*/
108-
public function getOriginalAmount()
108+
public function getOriginalAmount(): float
109109
{
110110
return $this->originalAmount;
111111
}
@@ -116,7 +116,7 @@ public function getOriginalAmount()
116116
* @param float $baseOriginalAmount
117117
* @return $this
118118
*/
119-
public function setBaseOriginalAmount($baseOriginalAmount)
119+
public function setBaseOriginalAmount(float $baseOriginalAmount)
120120
{
121121
$this->baseOriginalAmount = $baseOriginalAmount;
122122
return $this;
@@ -127,7 +127,7 @@ public function setBaseOriginalAmount($baseOriginalAmount)
127127
*
128128
* @return float
129129
*/
130-
public function getBaseOriginalAmount()
130+
public function getBaseOriginalAmount(): float
131131
{
132132
return $this->baseOriginalAmount;
133133
}

0 commit comments

Comments
 (0)