Как проверить купоны в Magento 2 без необходимости кастомизидов - PullRequest
2 голосов
/ 21 мая 2019

Я здесь немного новичок, поэтому, пожалуйста, поправьте меня, если я тупой.

Я импортировал около 5 миллионов купонных кодов в Magento 2, и все работает довольно быстро, за исключением связи с таблицей '' salesrule_customer ''.

Так что я подумал, что просто избавлюсь, если нужно будет проверить параметр Customerid и всегда иметь все параметры, действующие для всех правил корзины.

И здесь мне нужна помощь. Я не могу найти область наверняка, где эта проверка происходит. Так что я не знаю, что переопределить в моем модуле.

Я немного разбираюсь в: Magento \ SalesRule \ Model \ ResourceModel \ Rule

Но я, честно говоря, совсем растерялся.

Кто-нибудь здесь, кто делал это раньше или знает, как это сделать?

Я думаю, что следующий код может быть виновником:

/**
     * Limit rules collection by specific customer group
     *
     * @param int $customerGroupId
     * @return $this
     * @since 100.1.0
     */
    public function addCustomerGroupFilter($customerGroupId)
    {
        $entityInfo = $this->_getAssociatedEntityInfo('customer_group');
        if (!$this->getFlag('is_customer_group_joined')) {
            $this->setFlag('is_customer_group_joined', true);
            $this->getSelect()->join(
                ['customer_group' => $this->getTable($entityInfo['associations_table'])],
                $this->getConnection()
                    ->quoteInto('customer_group.' . $entityInfo['entity_id_field'] . ' = ?', $customerGroupId)
                . ' AND main_table.' . $entityInfo['rule_id_field'] . ' = customer_group.'
                . $entityInfo['rule_id_field'],
                []
            );
        }
        return $this;
    }

Я тоже могу быть совершенно неправ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...