Skip to content

Commit 76b2085

Browse files
committed
Fix #14958 - move two methods from resource models to private methods of DeleteByStore
1 parent 7c078cf commit 76b2085

File tree

6 files changed

+77
-349
lines changed

6 files changed

+77
-349
lines changed

app/code/Magento/SalesSequence/Model/ResourceModel/Meta/Ids.php

Lines changed: 0 additions & 48 deletions
This file was deleted.

app/code/Magento/SalesSequence/Model/ResourceModel/Profile/Ids.php

Lines changed: 0 additions & 43 deletions
This file was deleted.

app/code/Magento/SalesSequence/Model/Sequence/DeleteByStore.php

Lines changed: 41 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
use Magento\Framework\App\ResourceConnection as AppResource;
1111
use Magento\SalesSequence\Model\MetaFactory;
1212
use Magento\SalesSequence\Model\ResourceModel\Meta as ResourceMetadata;
13-
use Magento\SalesSequence\Model\ResourceModel\Meta\Ids as ResourceMetadataIds;
14-
use Magento\SalesSequence\Model\ResourceModel\Profile\Ids as ResourceProfileIds;
1513
use Magento\Store\Api\Data\StoreInterface;
1614

1715
/**
@@ -24,16 +22,6 @@ class DeleteByStore
2422
*/
2523
private $resourceMetadata;
2624

27-
/**
28-
* @var ResourceMetadataIds
29-
*/
30-
private $resourceMetadataIds;
31-
32-
/**
33-
* @var ResourceProfileIds
34-
*/
35-
private $resourceProfileIds;
36-
3725
/**
3826
* @var MetaFactory
3927
*/
@@ -46,21 +34,15 @@ class DeleteByStore
4634

4735
/**
4836
* @param ResourceMetadata $resourceMetadata
49-
* @param ResourceMetadataIds $resourceMetadataIds
50-
* @param ResourceProfileIds $resourceProfileIds
5137
* @param MetaFactory $metaFactory
5238
* @param AppResource $appResource
5339
*/
5440
public function __construct(
5541
ResourceMetadata $resourceMetadata,
56-
ResourceMetadataIds $resourceMetadataIds,
57-
ResourceProfileIds $resourceProfileIds,
5842
MetaFactory $metaFactory,
5943
AppResource $appResource
6044
) {
6145
$this->resourceMetadata = $resourceMetadata;
62-
$this->resourceMetadataIds = $resourceMetadataIds;
63-
$this->resourceProfileIds = $resourceProfileIds;
6446
$this->metaFactory = $metaFactory;
6547
$this->appResource = $appResource;
6648
}
@@ -70,12 +52,12 @@ public function __construct(
7052
*
7153
* @param StoreInterface $store
7254
* @return void
73-
* @throws \Magento\Framework\Exception\LocalizedException
55+
* @throws \Exception
7456
*/
7557
public function execute(StoreInterface $store): void
7658
{
77-
$metadataIds = $this->resourceMetadataIds->getByStoreId($store->getId());
78-
$profileIds = $this->resourceProfileIds->getByMetadataIds($metadataIds);
59+
$metadataIds = $this->getMetadataIdsByStoreId($store->getId());
60+
$profileIds = $this->getProfileIdsByMetadataIds($metadataIds);
7961

8062
$this->appResource->getConnection()->delete(
8163
$this->appResource->getTableName('sales_sequence_profile'),
@@ -95,4 +77,42 @@ public function execute(StoreInterface $store): void
9577
$this->resourceMetadata->delete($metadata);
9678
}
9779
}
80+
81+
/**
82+
* Retrieves Metadata Ids by store id
83+
*
84+
* @param int $storeId
85+
* @return int[]
86+
*/
87+
private function getMetadataIdsByStoreId($storeId)
88+
{
89+
$connection = $this->appResource->getConnection();
90+
$bind = ['store_id' => $storeId];
91+
$select = $connection->select()->from(
92+
$this->appResource->getTableName('sales_sequence_meta'),
93+
['meta_id']
94+
)->where(
95+
'store_id = :store_id'
96+
);
97+
98+
return $connection->fetchCol($select, $bind);
99+
}
100+
101+
/**
102+
* Retrieves Profile Ids by metadata ids
103+
*
104+
* @param int[] $metadataIds
105+
* @return int[]
106+
*/
107+
private function getProfileIdsByMetadataIds(array $metadataIds)
108+
{
109+
$connection = $this->appResource->getConnection();
110+
$select = $connection->select()
111+
->from(
112+
$this->appResource->getTableName('sales_sequence_profile'),
113+
['profile_id']
114+
)->where('meta_id IN (?)', $metadataIds);
115+
116+
return $connection->fetchCol($select);
117+
}
98118
}

app/code/Magento/SalesSequence/Test/Unit/Model/ResourceModel/Meta/IdsTest.php

Lines changed: 0 additions & 99 deletions
This file was deleted.

app/code/Magento/SalesSequence/Test/Unit/Model/ResourceModel/Profile/IdsTest.php

Lines changed: 0 additions & 99 deletions
This file was deleted.

0 commit comments

Comments
 (0)