Oara\Network\Publisher\GoogleAndroidPublisher::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();
        $dirDestination = \realpath(\dirname(COOKIES_BASE_DIR)) . '/pdf';
        $file = "{$this->_bucket}/sales/salesreport_" . $dStartDate->format("Ym") . ".zip";
        $url = "http://affjet.dc.fubra.net/tools/gsutil/gs.php?bucket=" . \urlencode($file) . "&type=cp";
        $context = \stream_context_create(array('http' => array('header' => "Authorization: Basic " . \base64_encode("{$this->_httpLogin}"))));
        \file_put_contents($dirDestination . "/report.zip", \file_get_contents($url, false, $context));
        $zip = new \ZipArchive();
        if ($zip->open($dirDestination . "/report.zip") === TRUE) {
            $zip->extractTo($dirDestination);
            $zip->close();
        } else {
            return $totalTransactions;
        }
        \unlink($dirDestination . "/report.zip");
        $salesReport = \file_get_contents($dirDestination . "/salesreport_" . $dStartDate->format("Ym") . ".csv");
        $salesReport = \explode("\n", $salesReport);
        for ($i = 1; $i < \count($salesReport) - 1; $i++) {
            $row = \str_getcsv($salesReport[$i], ",");
            $sub = false;
            if ($row[12] < 0) {
                $sub = true;
            }
            $obj = array();
            $obj['unique_id'] = $row[0] . $row[3];
            $obj['merchantId'] = "1";
            $obj['date'] = $row[1] . " 00:00:00";
            $obj['custom_id'] = $row[5];
            $comission = 0.3;
            if ($row[6] == "com.petrolprices.app") {
                $value = 2.99;
                $obj['amount'] = \Oara\Utilities::parseDouble($value);
                $obj['commission'] = \Oara\Utilities::parseDouble($value - $value * $comission);
            } else {
                if ($row[6] == "com.fubra.wac") {
                    if ($obj['date'] < "2013-04-23 00:00:00") {
                        $value = 0.6899999999999999;
                        $obj['amount'] = \Oara\Utilities::parseDouble($value);
                        $obj['commission'] = \Oara\Utilities::parseDouble($value - $value * $comission);
                    } else {
                        $value = 1.49;
                        $obj['amount'] = \Oara\Utilities::parseDouble($value);
                        $obj['commission'] = \Oara\Utilities::parseDouble($value - $value * $comission);
                    }
                }
            }
            if ($sub) {
                $obj['amount'] = -$obj['amount'];
                $obj['commission'] = -$obj['commission'];
            }
            $obj['status'] = \Oara\Utilities::STATUS_CONFIRMED;
            $totalTransactions[] = $obj;
        }
        \unlink($dirDestination . "/salesreport_" . $dStartDate->format("Ym") . ".csv");
        return $totalTransactions;
    }