Issues (104)

Cron/SynchronizeCreate.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\Create;
14
use Magento\Framework\Api\SearchCriteriaBuilder;
15
16
/**
17
 * Class Synchronize Create Sub Seller on Getnet.
18
 */
19
class SynchronizeCreate
20
{
21
    /**
22
     * @var Logger
23
     */
24
    protected $logger;
25
26
    /**
27
     * @var Create
28
     */
29
    protected $create;
30
31
    /**
32
     * @var SubSellerRepositoryInterface
33
     */
34
    protected $subSellerRepository;
35
36
    /**
37
     * @var SearchCriteriaBuilder
38
     */
39
    protected $searchCriteria;
40
41
    /**
42
     * Constructor.
43
     *
44
     * @param Logger                       $logger
45
     * @param Create                       $create
46
     * @param SubSellerRepositoryInterface $subSellerRepository
47
     * @param SearchCriteriaBuilder        $searchCriteria
48
     */
49
    public function __construct(
50
        Logger $logger,
51
        Create $create,
52
        SubSellerRepositoryInterface $subSellerRepository,
53
        SearchCriteriaBuilder $searchCriteria
54
    ) {
55
        $this->logger = $logger;
56
        $this->create = $create;
57
        $this->subSellerRepository = $subSellerRepository;
58
        $this->searchCriteria = $searchCriteria;
59
    }
60
61
    /**
62
     * Execute the cron.
63
     *
64
     * @return void
65
     */
66
    public function execute()
67
    {
68
        $this->logger->info('Cronjob Sync Create Seller');
69
70
        $searchCriteria = $this->searchCriteria->addFilter('status', 1)->create();
71
        $subSellers = $this->subSellerRepository->getList($searchCriteria);
72
73
        foreach ($subSellers->getItems() as $subSeller) {
74
            $this->logger->info(sprintf('Cronjob Sync Create Seller id %s.', $subSeller->getId()));
75
            $this->create->create($subSeller->getId());
0 ignored issues
show
It seems like $subSeller->getId() can also be of type null; however, parameter $subSellerId of Getnet\SubSellerMagento\...ronize\Create::create() 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

75
            $this->create->create(/** @scrutinizer ignore-type */ $subSeller->getId());
Loading history...
76
        }
77
78
        $this->logger->info('Cronjob Sync Create Seller is done.');
79
    }
80
}
81