private function getResponseBody(\Ess\M2ePro\Model\Account $account) { if ($account->getChildObject()->isFeedbacksAutoResponseCycled()) { $lastUsedId = 0; if ($account->getChildObject()->getFeedbacksLastUsedId() != null) { $lastUsedId = (int) $account->getChildObject()->getFeedbacksLastUsedId(); } $feedbackTemplatesIds = $this->activeRecordFactory->getObject('Ebay\\Feedback\\Template')->getCollection()->addFieldToFilter('account_id', $account->getId())->setOrder('id', 'ASC')->getAllIds(); if (!count($feedbackTemplatesIds)) { return ''; } $feedbackTemplate = $this->activeRecordFactory->getObject('Ebay\\Feedback\\Template'); if (max($feedbackTemplatesIds) > $lastUsedId) { foreach ($feedbackTemplatesIds as $templateId) { if ($templateId <= $lastUsedId) { continue; } $feedbackTemplate->load($templateId); break; } } else { $feedbackTemplate->load(min($feedbackTemplatesIds)); } if (!$feedbackTemplate->getId()) { return ''; } $account->setData('feedbacks_last_used_id', $feedbackTemplate->getId())->save(); return $feedbackTemplate->getBody(); } if ($account->getChildObject()->isFeedbacksAutoResponseRandom()) { $feedbackTemplatesIds = $this->activeRecordFactory->getObject('Ebay\\Feedback\\Template')->getCollection()->addFieldToFilter('account_id', $account->getId())->getAllIds(); if (!count($feedbackTemplatesIds)) { return ''; } $index = rand(0, count($feedbackTemplatesIds) - 1); $feedbackTemplate = $this->activeRecordFactory->getObject('Ebay\\Feedback\\Template')->load($feedbackTemplatesIds[$index]); if (!$feedbackTemplate->getId()) { return ''; } return $feedbackTemplate->getBody(); } return ''; }