71 lines
2.2 KiB
PHP
71 lines
2.2 KiB
PHP
<?php
|
|
|
|
use app\models\Order;
|
|
use app\services\JR;
|
|
|
|
$user = \app\services\Auth::getUserByToken();
|
|
//$user = \app\models\UserPublic::findOne(34);
|
|
$lg = Yii::$app->language;
|
|
$data = [];
|
|
if ($user) {
|
|
$per_page = 10;
|
|
$page = $_GET['page'] ?? 1;
|
|
$orders = Order::find()->where(['user_id' => $user->id])->offset($per_page * $page - $per_page)->orderBy(['id' => SORT_DESC]);
|
|
|
|
$count = $orders->count();
|
|
foreach ($orders->all() as $order) {
|
|
|
|
$paying = $order->payment;
|
|
//$booking = $order->booking;
|
|
//$event = $booking && $booking->event ? $booking->event->title() : '';
|
|
$booking = [];
|
|
foreach ($order->booking as $ticket) {
|
|
$count = $ticket->tickets_count;
|
|
|
|
$booking[] = [
|
|
'id' => $ticket->id,
|
|
'ticket_type' => $ticket->{'name_' . $lg},
|
|
'event' => $ticket->event->title(),
|
|
'event_img' => $ticket->event->image('16:11'),
|
|
'single_price' => $ticket->single_price,
|
|
'datetime' => $ticket->formatedHtmlDate(),
|
|
'hashed_id' => $ticket->getHashedId(),
|
|
'tickets_count' => $count
|
|
];
|
|
}
|
|
$default = $booking[0] ?? null;
|
|
$event = null;
|
|
if (!empty($booking[0])) {
|
|
$event = [
|
|
'name' => $booking[0]['event'],
|
|
'img' => $booking[0]['event_img'],
|
|
];
|
|
}
|
|
|
|
$status = [
|
|
'PAID' => [
|
|
'bg' => 'Платено',
|
|
'en' => 'Paid'
|
|
],
|
|
'PENDING' => [
|
|
'bg' => 'Изчаква се плащане',
|
|
'en' => 'Payment pending'
|
|
]
|
|
];
|
|
|
|
$item = [
|
|
'id' => $order->id,
|
|
'price' => $order->total_price,
|
|
'date' => $order->order_date,
|
|
'status' => $paying->status == 'PAID' ? ($status['PAID'][$lg]) : $status['PENDING'][$lg],
|
|
'booking' => $booking,
|
|
];
|
|
if ($event) {
|
|
$item['event'] = $event;
|
|
}
|
|
$data[] = $item;
|
|
}
|
|
|
|
JR::message(JR::done, ['data' => $data, 'lastPage' => ceil($count / $per_page), 'count' => $count]);
|
|
}
|