Oara\Network\Publisher\SkyScanner::getTransactionList PHP 메소드

getTransactionList() 공개 메소드

public getTransactionList ( null $merchantList = null, DateTime $dStartDate = null, DateTime $dEndDate = null ) : array
$merchantList null
$dStartDate DateTime
$dEndDate DateTime
리턴 array
    public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
    {
        $totalTransactions = array();
        $urls = array();
        $url = 'http://business.skyscanner.net/apiservices/reporting/v1.0/reportdata/' . $dStartDate->format("Y-m-d") . '/' . $dEndDate->format("Y-m-d") . '?encryptedApiKey=' . $this->_apiKey . "&type=csv";
        $urls[] = new \Oara\Curl\Request($url, array());
        $exportReport = $this->_client->get($urls);
        $dump = \var_export($exportReport[0], true);
        $dump = \preg_replace('/ \\. /', "", $dump);
        $dump = \preg_replace("/\"\\\\0\"/", "", $dump);
        $dump = \preg_replace("/'/", "", $dump);
        $exportData = \str_getcsv($dump, "\n");
        $num = \count($exportData);
        for ($i = 1; $i < $num; $i++) {
            $transactionExportArray = \str_getcsv($exportData[$i], ",");
            $transaction = array();
            $transaction['merchantId'] = 1;
            $transactionDate = \DateTime::createFromFormat("d/m/Y H:i:s", $transactionExportArray[0]);
            $transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
            //unset($transactionDate);
            $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
            $transaction['amount'] = (double) $transactionExportArray[7];
            $transaction['commission'] = (double) $transaction['amount'] * 0.6;
            if ($transaction['amount'] != 0) {
                $totalTransactions[] = $transaction;
            }
        }
        return $totalTransactions;
    }