json = $json; $this->requestService = $requestService; $this->customerCollectionFactory = $customerCollectionFactory; } /** * {@inheritdoc} */ public function postInternalAccounts($email, $secret) { return $this->requestService->post( $email, $secret, [$this, 'getInternalAccounts'] ); } /** * {@inheritdoc} */ public function getInternalAccounts() { $internalDomains = [ 'laviewsecurity.com', 'laviewusa.com', 'ltschicago.com', 'ltsecurity.com', 'ltsecurityinc.com', 'ltshouston.com', 'ltsla.com', 'ltsmall.com', 'ltsmd.com', 'ltsnewyork.com', 'ltsnj.com', 'ltstechnologies.com', 'epoweron.com' ]; $collection = $this->customerCollectionFactory->create(); $orConditions = []; foreach ($internalDomains as $domain) { $orConditions[] = ['like' => '%' . $domain . '%']; } $collection->addFieldToFilter('email', $orConditions); $collection->addFieldToFilter('group_id', ['neq' => 5]); $collection->addAttributeToSelect(['entity_id', 'email', 'group_id']); $accounts = []; foreach ($collection as $account) { $accounts[] = [ 'id' => $account->getId(), 'email' => $account->getEmail(), 'gid' => $account->getGroupId() ]; } return $accounts; } }