Oara\Network\Publisher\Bol::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)
    {
        $folder = \realpath(\dirname(COOKIES_BASE_DIR)) . '/pdf/';
        $totalTransactions = array();
        $valuesFromExport = array();
        $valuesFromExport[] = new \Oara\Curl\Parameter('id', "-1");
        $valuesFromExport[] = new \Oara\Curl\Parameter('yearStart', $dStartDate->format("Y"));
        $valuesFromExport[] = new \Oara\Curl\Parameter('monthStart', $dStartDate->format("m"));
        $valuesFromExport[] = new \Oara\Curl\Parameter('dayStart', $dStartDate->format("d"));
        $valuesFromExport[] = new \Oara\Curl\Parameter('yearEnd', $dEndDate->format("Y"));
        $valuesFromExport[] = new \Oara\Curl\Parameter('monthEnd', $dEndDate->format("m"));
        $valuesFromExport[] = new \Oara\Curl\Parameter('dayEnd', $dEndDate->format("d"));
        $urls = array();
        $urls[] = new \Oara\Curl\Request('https://partnerprogramma.bol.com/partner/s/excelReport/orders?', $valuesFromExport);
        $exportReport = $this->_client->get($urls);
        $my_file = $folder . \mt_rand() . '.xlsx';
        $handle = \fopen($my_file, 'w') or die('Cannot open file:  ' . $my_file);
        $data = $exportReport[0];
        \fwrite($handle, $data);
        \fclose($handle);
        $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
        $objReader->setReadDataOnly(true);
        $objPHPExcel = $objReader->load($my_file);
        $objWorksheet = $objPHPExcel->getActiveSheet();
        $highestRow = $objWorksheet->getHighestRow();
        for ($row = 2; $row <= $highestRow; ++$row) {
            $transaction = array();
            $transaction['unique_id'] = $objWorksheet->getCellByColumnAndRow(0, $row)->getValue() . "_" . $objWorksheet->getCellByColumnAndRow(1, $row)->getValue();
            $transaction['merchantId'] = "1";
            $transactionDate = \DateTime::createFromFormat("d-m-Y", $objWorksheet->getCellByColumnAndRow(2, $row)->getValue());
            $transaction['date'] = $transactionDate->format("Y-m-d 00:00:00");
            $transaction['custom_id'] = $objWorksheet->getCellByColumnAndRow(8, $row)->getValue();
            if ($objWorksheet->getCellByColumnAndRow(14, $row)->getValue() == 'geaccepteerd') {
                $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
            } else {
                if ($objWorksheet->getCellByColumnAndRow(14, $row)->getValue() == 'in behandeling') {
                    $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                } else {
                    if ($objWorksheet->getCellByColumnAndRow(14, $row)->getValue() == 'geweigerd: klik te oud' || $objWorksheet->getCellByColumnAndRow(14, $row)->getValue() == 'geweigerd') {
                        $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                    } else {
                        throw new \Exception("new status " . $objWorksheet->getCellByColumnAndRow(14, $row)->getValue());
                    }
                }
            }
            $transaction['amount'] = \Oara\Utilities::parseDouble(round($objWorksheet->getCellByColumnAndRow(11, $row)->getValue(), 2));
            $transaction['commission'] = \Oara\Utilities::parseDouble(round($objWorksheet->getCellByColumnAndRow(12, $row)->getValue(), 2));
            $totalTransactions[] = $transaction;
        }
        unlink($my_file);
        return $totalTransactions;
    }