Oara\Network\Publisher\Demo::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();
        $transactionNumber = \rand(1, 200);
        $twoMonthsAgoDate = new \DateTime();
        $interval = new \DateInterval('P2M');
        $twoMonthsAgoDate->sub($interval);
        for ($i = 0; $i < $transactionNumber; $i++) {
            $transactionDate = self::randomDate($dStartDate->format("Y-m-d H:i:s"), $dEndDate->format("Y-m-d H:i:s"));
            $merchantIndex = \rand(0, \count($merchantList) - 1);
            $transaction = array();
            $transaction['unique_id'] = \md5(\mt_rand() . $transactionDate);
            $transaction['custom_id'] = "my_custom_id";
            $transaction['merchantId'] = $merchantList[$merchantIndex]["cid"];
            $transaction['date'] = $transactionDate;
            $transactionAmount = \rand(1, 1000);
            $transaction['amount'] = $transactionAmount;
            $transaction['commission'] = $transactionAmount / 10;
            $transactionStatusChances = \rand(1, 100);
            if ($transaction['date'] >= $twoMonthsAgoDate->format("Y-m-d H:i:s")) {
                if ($transactionStatusChances < 60) {
                    $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                } else {
                    if ($transactionStatusChances < 70) {
                        $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                    } else {
                        $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                    }
                }
            } else {
                if ($transactionStatusChances < 80) {
                    $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                } else {
                    $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                }
            }
            $totalTransactions[] = $transaction;
        }
        return $totalTransactions;
    }