1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Signifyd\Model\SalesOrderGrid;
use Magento\Sales\Model\ResourceModel\Provider\NotSyncedDataProviderInterface;
use Magento\Signifyd\Model\ResourceModel;
use Magento\Signifyd\Model\ResourceModel\CaseEntity;
/**
* Provides order ids list which Signifyd Case guaranty status were changed
*/
class NotSyncedOrderIdListProvider implements NotSyncedDataProviderInterface
{
/**
* @var ResourceModel\CaseEntity
*/
private $caseEntity;
/**
* @param ResourceModel\CaseEntity $caseEntity
*/
public function __construct(
CaseEntity $caseEntity
) {
$this->caseEntity = $caseEntity;
}
/**
* @inheritdoc
*/
public function getIds($mainTableName, $gridTableName)
{
$connection = $this->caseEntity->getConnection();
$select = $connection->select()
->from($this->caseEntity->getMainTable(), ['order_id'])
->joinLeft(
[$gridTableName => $connection->getTableName($gridTableName)],
sprintf(
'%s.%s = %s.%s',
$this->caseEntity->getMainTable(),
'order_id',
$gridTableName,
'entity_id'
),
[]
)
->where('guarantee_disposition != signifyd_guarantee_status');
return $connection->fetchAll($select, [], \Zend_Db::FETCH_COLUMN);
}
}