![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-sales/Model/CronJob/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Model\CronJob; use Magento\Framework\Locale\ResolverInterface; use Magento\Framework\Stdlib\DateTime\TimezoneInterface; /** * Class AggregateSalesReportBestsellersData */ class AggregateSalesReportBestsellersData { /** * @var ResolverInterface */ protected $localeResolver; /** * @var TimezoneInterface */ protected $localeDate; /** * @var \Magento\Sales\Model\ResourceModel\Report\BestsellersFactory */ protected $bestsellersFactory; /** * @param ResolverInterface $localeResolver * @param TimezoneInterface $timezone * @param \Magento\Sales\Model\ResourceModel\Report\BestsellersFactory $bestsellersFactory */ public function __construct( ResolverInterface $localeResolver, TimezoneInterface $timezone, \Magento\Sales\Model\ResourceModel\Report\BestsellersFactory $bestsellersFactory ) { $this->localeResolver = $localeResolver; $this->localeDate = $timezone; $this->bestsellersFactory = $bestsellersFactory; } /** * Refresh bestsellers report statistics for last day * * @return void */ public function execute() { $this->localeResolver->emulate(0); $currentDate = $this->localeDate->date(); $date = $currentDate->sub(new \DateInterval('PT25H')); $this->bestsellersFactory->create()->aggregate($date); $this->localeResolver->revert(); } }