Skip to content

Commit 70f247d

Browse files
committed
ACP2E-3472: [CLOUD] Shipping calculation is not considering the shopping cart rule
1 parent fd0bd35 commit 70f247d

File tree

2 files changed

+17
-33
lines changed

2 files changed

+17
-33
lines changed

app/code/Magento/Tax/Model/Sales/Total/Quote/CommonTaxCollector.php

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,11 @@
33
* Copyright 2014 Adobe
44
* All Rights Reserved.
55
*/
6-
76
namespace Magento\Tax\Model\Sales\Total\Quote;
87

98
use Magento\Customer\Api\AccountManagementInterface as CustomerAccountManagement;
109
use Magento\Customer\Api\Data\AddressInterfaceFactory as CustomerAddressFactory;
1110
use Magento\Customer\Api\Data\AddressInterface as CustomerAddress;
12-
use Magento\Customer\Api\Data\RegionInterfaceFactory;
1311
use Magento\Customer\Api\Data\RegionInterfaceFactory as CustomerAddressRegionFactory;
1412
use Magento\Quote\Model\Quote\Address as QuoteAddress;
1513
use Magento\Quote\Model\Quote\Address\Total\AbstractTotal;
@@ -27,7 +25,6 @@
2725
use Magento\Tax\Api\TaxCalculationInterface;
2826
use Magento\Tax\Helper\Data as TaxHelper;
2927
use Magento\Framework\App\ObjectManager;
30-
use Magento\Tax\Api\Data\QuoteDetailsItemExtensionInterface;
3128
use Magento\Tax\Api\Data\QuoteDetailsItemExtensionInterfaceFactory;
3229
use Magento\Tax\Model\Config;
3330

@@ -130,11 +127,6 @@ class CommonTaxCollector extends AbstractTotal
130127
*/
131128
protected $customerAddressRegionFactory;
132129

133-
/**
134-
* @var RegionInterfaceFactory
135-
*/
136-
private RegionInterfaceFactory $regionFactory;
137-
138130
/**
139131
* @var \Magento\Tax\Api\Data\TaxClassKeyInterfaceFactory
140132
*/
@@ -170,7 +162,6 @@ class CommonTaxCollector extends AbstractTotal
170162
* @param TaxClassKeyInterfaceFactory $taxClassKeyDataObjectFactory
171163
* @param CustomerAddressFactory $customerAddressFactory
172164
* @param CustomerAddressRegionFactory $customerAddressRegionFactory
173-
* @param RegionInterfaceFactory $regionInterfaceFactory
174165
* @param TaxHelper|null $taxHelper
175166
* @param QuoteDetailsItemExtensionInterfaceFactory|null $quoteDetailsItemExtensionInterfaceFactory
176167
* @param CustomerAccountManagement|null $customerAccountManagement
@@ -184,7 +175,6 @@ public function __construct(
184175
\Magento\Tax\Api\Data\TaxClassKeyInterfaceFactory $taxClassKeyDataObjectFactory,
185176
CustomerAddressFactory $customerAddressFactory,
186177
CustomerAddressRegionFactory $customerAddressRegionFactory,
187-
RegionInterfaceFactory $regionInterfaceFactory,
188178
TaxHelper $taxHelper = null,
189179
QuoteDetailsItemExtensionInterfaceFactory $quoteDetailsItemExtensionInterfaceFactory = null,
190180
?CustomerAccountManagement $customerAccountManagement = null
@@ -196,7 +186,6 @@ public function __construct(
196186
$this->quoteDetailsItemDataObjectFactory = $quoteDetailsItemDataObjectFactory;
197187
$this->customerAddressFactory = $customerAddressFactory;
198188
$this->customerAddressRegionFactory = $customerAddressRegionFactory;
199-
$this->regionFactory = $regionInterfaceFactory;
200189
$this->taxHelper = $taxHelper ?: ObjectManager::getInstance()->get(TaxHelper::class);
201190
$this->quoteDetailsItemExtensionFactory = $quoteDetailsItemExtensionInterfaceFactory ?:
202191
ObjectManager::getInstance()->get(QuoteDetailsItemExtensionInterfaceFactory::class);
@@ -223,11 +212,16 @@ public function mapAddress(QuoteAddress $address)
223212
{
224213
$customerAddress = $this->customerAddressFactory->create();
225214
$customerAddress->setCountryId($address->getCountryId());
226-
$customerAddress->setRegion(
227-
$this->customerAddressRegionFactory->create()->setRegionId($address->getRegionId())
215+
$region = $this->customerAddressRegionFactory->create(
216+
[
217+
'data' =>
218+
[
219+
'region_id' => $address->getRegionId(),
220+
'region_code' => $address->getRegionCode(),
221+
'region' => $address->getRegion()
222+
]
223+
]
228224
);
229-
$region = $this->regionFactory->create()->setRegionCode($address->getRegionCode());
230-
$region->setRegion($address->getRegion());
231225
$customerAddress->setRegion($region);
232226
$customerAddress->setPostcode($address->getPostcode());
233227
$customerAddress->setCity($address->getCity());

app/code/Magento/Tax/Model/Sales/Total/Quote/Tax.php

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,13 @@
66
namespace Magento\Tax\Model\Sales\Total\Quote;
77

88
use Magento\Customer\Api\Data\AddressInterfaceFactory as CustomerAddressFactory;
9-
use Magento\Customer\Api\Data\RegionInterfaceFactory;
109
use Magento\Customer\Api\Data\RegionInterfaceFactory as CustomerAddressRegionFactory;
1110
use Magento\Framework\App\ObjectManager;
1211
use Magento\Framework\Serialize\Serializer\Json;
1312
use Magento\Quote\Api\Data\ShippingAssignmentInterface;
1413
use Magento\Quote\Model\Quote\Address;
15-
use Magento\Tax\Api\Data\QuoteDetailsInterfaceFactory;
16-
use Magento\Tax\Api\Data\QuoteDetailsItemInterfaceFactory;
1714
use Magento\Tax\Api\Data\TaxClassKeyInterface;
18-
use Magento\Tax\Api\Data\TaxClassKeyInterfaceFactory;
19-
use Magento\Tax\Api\TaxCalculationInterface;
20-
use Magento\Tax\Helper\Data;
2115
use Magento\Tax\Model\Calculation;
22-
use Magento\Tax\Model\Config;
2316

2417
/**
2518
* Tax totals calculation model
@@ -59,16 +52,15 @@ class Tax extends CommonTaxCollector
5952
/**
6053
* Class constructor
6154
*
62-
* @param Config $taxConfig
63-
* @param TaxCalculationInterface $taxCalculationService
64-
* @param QuoteDetailsInterfaceFactory $quoteDetailsDataObjectFactory
65-
* @param QuoteDetailsItemInterfaceFactory $quoteDetailsItemDataObjectFactory
66-
* @param TaxClassKeyInterfaceFactory $taxClassKeyDataObjectFactory
55+
* @param \Magento\Tax\Model\Config $taxConfig
56+
* @param \Magento\Tax\Api\TaxCalculationInterface $taxCalculationService
57+
* @param \Magento\Tax\Api\Data\QuoteDetailsInterfaceFactory $quoteDetailsDataObjectFactory
58+
* @param \Magento\Tax\Api\Data\QuoteDetailsItemInterfaceFactory $quoteDetailsItemDataObjectFactory
59+
* @param \Magento\Tax\Api\Data\TaxClassKeyInterfaceFactory $taxClassKeyDataObjectFactory
6760
* @param CustomerAddressFactory $customerAddressFactory
6861
* @param CustomerAddressRegionFactory $customerAddressRegionFactory
69-
* @param CustomerAddressRegionFactory $regionInterfaceFactory
70-
* @param Data $taxData
71-
* @param Json|null $serializer
62+
* @param \Magento\Tax\Helper\Data $taxData
63+
* @param Json $serializer
7264
*/
7365
public function __construct(
7466
\Magento\Tax\Model\Config $taxConfig,
@@ -78,7 +70,6 @@ public function __construct(
7870
\Magento\Tax\Api\Data\TaxClassKeyInterfaceFactory $taxClassKeyDataObjectFactory,
7971
CustomerAddressFactory $customerAddressFactory,
8072
CustomerAddressRegionFactory $customerAddressRegionFactory,
81-
RegionInterfaceFactory $regionInterfaceFactory,
8273
\Magento\Tax\Helper\Data $taxData,
8374
Json $serializer = null
8475
) {
@@ -92,8 +83,7 @@ public function __construct(
9283
$quoteDetailsItemDataObjectFactory,
9384
$taxClassKeyDataObjectFactory,
9485
$customerAddressFactory,
95-
$customerAddressRegionFactory,
96-
$regionInterfaceFactory
86+
$customerAddressRegionFactory
9787
);
9888
}
9989

0 commit comments

Comments
 (0)