![]() 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-rule/Model/ResourceModel/Report/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\SalesRule\Model\ResourceModel\Report; /** * Rule report resource model * * @author Magento Core Team <[email protected]> */ class Rule extends \Magento\Reports\Model\ResourceModel\Report\AbstractReport { /** * @var \Magento\SalesRule\Model\ResourceModel\Report\Rule\CreatedatFactory */ protected $_createdatFactory; /** * @var \Magento\SalesRule\Model\ResourceModel\Report\Rule\UpdatedatFactory */ protected $_updatedatFactory; /** * @param \Magento\Framework\Model\ResourceModel\Db\Context $context * @param \Psr\Log\LoggerInterface $logger * @param \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate * @param \Magento\Reports\Model\FlagFactory $reportsFlagFactory * @param \Magento\Framework\Stdlib\DateTime\Timezone\Validator $timezoneValidator * @param \Magento\Framework\Stdlib\DateTime\DateTime $dateTime * @param \Magento\SalesRule\Model\ResourceModel\Report\Rule\CreatedatFactory $createdatFactory * @param \Magento\SalesRule\Model\ResourceModel\Report\Rule\UpdatedatFactory $updatedatFactory * @param string $connectionName */ public function __construct( \Magento\Framework\Model\ResourceModel\Db\Context $context, \Psr\Log\LoggerInterface $logger, \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate, \Magento\Reports\Model\FlagFactory $reportsFlagFactory, \Magento\Framework\Stdlib\DateTime\Timezone\Validator $timezoneValidator, \Magento\Framework\Stdlib\DateTime\DateTime $dateTime, \Magento\SalesRule\Model\ResourceModel\Report\Rule\CreatedatFactory $createdatFactory, \Magento\SalesRule\Model\ResourceModel\Report\Rule\UpdatedatFactory $updatedatFactory, $connectionName = null ) { parent::__construct( $context, $logger, $localeDate, $reportsFlagFactory, $timezoneValidator, $dateTime, $connectionName ); $this->_createdatFactory = $createdatFactory; $this->_updatedatFactory = $updatedatFactory; } /** * Resource Report Rule constructor * * @return void */ protected function _construct() { $this->_setResource('salesrule'); } /** * Aggregate Coupons data * * @param mixed|null $from * @param mixed|null $to * @return $this */ public function aggregate($from = null, $to = null) { $this->_createdatFactory->create()->aggregate($from, $to); $this->_updatedatFactory->create()->aggregate($from, $to); $this->_setFlagData(\Magento\Reports\Model\Flag::REPORT_COUPONS_FLAG_CODE); return $this; } /** * Get all unique Rule Names from aggregated coupons usage data * * @return array */ public function getUniqRulesNamesList() { $resourceModel = $this->_createdatFactory->create(); $connection = $resourceModel->getConnection(); $tableName = $resourceModel->getMainTable(); $select = $connection->select()->from( $tableName, new \Zend_Db_Expr('DISTINCT rule_name') )->where( 'rule_name IS NOT NULL' )->where( 'rule_name <> ?', '' )->order( 'rule_name ASC' ); $rulesNames = $connection->fetchAll($select); $result = []; foreach ($rulesNames as $row) { $result[] = $row['rule_name']; } return $result; } }