Issues (104)

Cron/SynchronizeGetUpdate.php (1 issue)

Labels
Severity
1
<?php
2
/**
3
 * Copyright © Getnet. All rights reserved.
4
 *
5
 * @author    Bruno Elisei <[email protected]>
6
 * See LICENSE for license details.
7
 */
8
9
namespace Getnet\SubSellerMagento\Cron;
10
11
use Getnet\SubSellerMagento\Api\SubSellerRepositoryInterface;
12
use Getnet\SubSellerMagento\Logger\Logger;
13
use Getnet\SubSellerMagento\Model\Console\Command\Synchronize\GetUpdateData;
14
use Magento\Framework\Api\FilterBuilder;
15
use Magento\Framework\Api\SearchCriteriaBuilder;
16
17
/**
18
 * Class Synchronize Get Update Sub Seller on Getnet.
19
 */
20
class SynchronizeGetUpdate
21
{
22
    /**
23
     * @var Logger
24
     */
25
    protected $logger;
26
27
    /**
28
     * @var GetUpdateData
29
     */
30
    protected $getUpdateData;
31
32
    /**
33
     * @var SubSellerRepositoryInterface
34
     */
35
    protected $subSellerRepository;
36
37
    /**
38
     * @var SearchCriteriaBuilder
39
     */
40
    protected $searchCriteria;
41
42
    /**
43
     * @var FilterBuilder
44
     */
45
    protected $filterBuilder;
46
47
    /**
48
     * Constructor.
49
     *
50
     * @param Logger                       $logger
51
     * @param GetUpdateData                $getUpdateData
52
     * @param SubSellerRepositoryInterface $subSellerRepository
53
     * @param SearchCriteriaBuilder        $searchCriteria
54
     * @param FilterBuilder                $filterBuilder
55
     */
56
    public function __construct(
57
        Logger $logger,
58
        GetUpdateData $getUpdateData,
59
        SubSellerRepositoryInterface $subSellerRepository,
60
        SearchCriteriaBuilder $searchCriteria,
61
        FilterBuilder $filterBuilder
62
    ) {
63
        $this->logger = $logger;
64
        $this->getUpdateData = $getUpdateData;
65
        $this->subSellerRepository = $subSellerRepository;
66
        $this->searchCriteria = $searchCriteria;
67
        $this->filterBuilder = $filterBuilder;
68
    }
69
70
    /**
71
     * Execute the cron.
72
     *
73
     * @return void
74
     */
75
    public function execute()
76
    {
77
        $this->logger->info('Cronjob Sync Get Upate Sub Seller');
78
        $searchCriteria = $this->searchCriteria->addFilters(
79
            [
80
                $this->filterBuilder->setField('status')->setValue(2)->create(),
81
                $this->filterBuilder->setField('status')->setValue(4)->create(),
82
                $this->filterBuilder->setField('status')->setValue(5)->create(),
83
            ]
84
        )->create();
85
        $subSellers = $this->subSellerRepository->getList($searchCriteria);
86
87
        foreach ($subSellers->getItems() as $subSeller) {
88
            $this->logger->info(sprintf('Cronjob Sync Get Upate Sub Seller id %s.', $subSeller->getId()));
89
            $this->getUpdateData->getUpdateData($subSeller->getId());
0 ignored issues
show
It seems like $subSeller->getId() can also be of type null; however, parameter $subSellerId of Getnet\SubSellerMagento\...teData::getUpdateData() does only seem to accept integer, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

89
            $this->getUpdateData->getUpdateData(/** @scrutinizer ignore-type */ $subSeller->getId());
Loading history...
90
        }
91
92
        $this->logger->info('Cronjob Sync Get Upate Sub Seller is done.');
93
    }
94
}
95