Commit 1b6aa5d7 by Tobin

Merge branch 'master' of https://gitlab.techware.co.in/timeout/timeOut into tobin

parents 13b77b7a 9e63afa9
...@@ -156,7 +156,8 @@ class Api extends CI_Controller { ...@@ -156,7 +156,8 @@ class Api extends CI_Controller {
public function bookedlist() { public function bookedlist() {
$data = (array) json_decode(file_get_contents('php://input')); $data = (array) json_decode(file_get_contents('php://input'));
$data['auth_token'] = $this->auth_token; $data['auth_token'] = $this->auth_token;
$res = $this->Api_model->bookedlist($data); $res_count = $this->Webservice_model->bookedlist($data,0,0);
$res = $this->Api_model->bookedlist($data,10,'',$res_count);
if($res['status']!=0){ if($res['status']!=0){
$this->response($res['data']); $this->response($res['data']);
} }
......
...@@ -311,7 +311,8 @@ class Webservice extends CI_Controller { ...@@ -311,7 +311,8 @@ class Webservice extends CI_Controller {
public function get_booking_list() { public function get_booking_list() {
$data = $_GET; $data = $_GET;
$data['auth_token'] = $this->auth_token; $data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->bookedlist($data); $res_count = $this->Webservice_model->bookedlist($data,0,0);
$res = $this->Webservice_model->bookedlist($data,10,'',$res_count);
if(sizeof($res['data']) && $res['status']!=0){ if(sizeof($res['data']) && $res['status']!=0){
$this->responseBookList($res['data']); $this->responseBookList($res['data']);
}elseif(sizeof($res['data'] == 0) && $res['status']!=0){ }elseif(sizeof($res['data'] == 0) && $res['status']!=0){
......
...@@ -367,52 +367,50 @@ class Api_model extends CI_Model { ...@@ -367,52 +367,50 @@ class Api_model extends CI_Model {
return $res; return $res;
} }
function bookedlist($data) { function bookedlist($data,$per_page='',$page ='',$count ='') {
try { try {
$per_page = 10;
$user_id = $this->auth_token_get($data['auth_token']); $user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) { if($user_id > 0) {
$sql = "SELECT id FROM booking if($page == 0 && $per_page == 0){
WHERE customer_id='$user_id' AND status IN (0,1,2) $page = $page;
GROUP BY booking.id"; }else{
$count = $this->db->query($sql)->num_rows(); $page = (isset($data['page']))? $data['page']:1;
if($count > 0) {
$page = 1;
if(isset($data['page'])) {
$page = $data['page'];
} }
$page_limit = ($page - 1) * $per_page; $page_limit = ($page - 1) * $per_page;
$cond =($per_page == 0 && $page == 0)?'':"LIMIT $page_limit, $per_page";
$bookedData = $this->db->query("
SELECT ODR.order_id,ODR.order_type,ODR.booking_id FROM orders AS ODR
LEFT JOIN booking AS BOK ON
(ODR.booking_id=BOK.bookId AND BOK.status IN (0,1,2,3,5,6) AND
BOK.customer_id='$user_id')
LEFT JOIN flight_booking AS FBK ON
(ODR.booking_id=FBK.flight_book_id AND FBK.status IN (0,1,2,3,5) AND
FBK.customer_id='$user_id')
LEFT JOIN hotel_booking AS HBK ON
(ODR.booking_id=HBK.hotel_book_id AND HBK.status IN (0,1,2,3,5) AND
HBK.customer_id='$user_id')
GROUP BY ODR.order_id $cond");
if($per_page == 0 && $page == 0){
return $bookedData->num_rows();
}
if(count($bookedData) > 0) {
if($count > $page_limit) { if($count > $page_limit) {
$sql = "SELECT booking.id AS book_id,booking.event_id,booking.bookId AS bookingCode, $bookData = array();
booking.qrcode,booking.no_of_ticket,booking.amount,venue.location, foreach (($bookedData = $bookedData->result_array()) as $key => $value) {
booking.status AS book_status,event_gallery.media_url, switch($value['order_type']){
venue.id AS venue_id,event_date_time.date AS event_date, case 1 : $resp = $this->getEventData($value['booking_id'],$user_id);break;
event_date_time.time AS event_time case 2 : $resp = $this->getHotelData($value['booking_id'],$user_id);break;
FROM booking case 3 : $resp = $this->getFlightData($value['booking_id'],$user_id);break;
JOIN events ON booking.event_id=events.event_id }
JOIN event_date_time ON booking.event_date_id=event_date_time.id if(!empty($resp)){
JOIN venue ON venue.id=events.venue_id $bookData[] = $resp;
LEFT JOIN event_gallery ON events.event_id=event_gallery.event_id AND
event_gallery.media_type=0
WHERE customer_id='$user_id' AND booking.status IN(0,1,2,6)
GROUP BY booking.id ORDER BY booking.id DESC LIMIT 10";
$result = $this->db->query($sql)->result_array();
if(!empty($result)){
foreach ($result AS $key => $data) {
$eData = langTranslator($data['event_id'],'EVT');
$result[$key] = array_merge($result[$key],$eData);
$vData = langTranslator($data['venue_id'],'VEN');
$result[$key] = array_merge($result[$key],$vData);
} }
} }
$meta = array('total_pages'=>ceil($count/$per_page),'total'=>$count, $meta = array('total_pages'=>ceil($count/$per_page),'total'=>$count,
'current_page'=>$page,'per_page'=>$per_page); 'current_page'=>$page,'per_page'=>$per_page);
$response = array('data'=>$result,'meta'=>$meta); $response = array('data'=>$bookData,'meta'=>$meta);
$res = array('status'=>1,'data'=>$response); $res = array('status'=>1,'data'=>$response);
} else { } else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13'); $res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
...@@ -429,6 +427,79 @@ class Api_model extends CI_Model { ...@@ -429,6 +427,79 @@ class Api_model extends CI_Model {
return $res; return $res;
} }
function getEventData($booking_id='',$user_id=''){
$countryData = $this->getCountryData($user_id);
$lang = $countryData['language_code'];
$sql = "SELECT booking.id AS book_id,booking.bookId AS bookingCode,booking.amount,
event_date_time.date AS event_date,translator_event.event_name,booking.qrcode,
venue.location,event_date_time.time AS event_time,booking.event_id,
event_gallery.media_url,booking.no_of_ticket,events.has_payment,
venue.id AS venue_id,booking.status AS book_status
FROM booking
INNER JOIN events ON booking.event_id = events.event_id
INNER JOIN event_date_time ON booking.event_date_id = event_date_time.id
INNER JOIN venue ON venue.id = events.venue_id
LEFT JOIN event_gallery ON events.event_id=event_gallery.event_id AND
event_gallery.media_type=0
INNER JOIN translator_event ON translator_event.event_id=events.event_id
INNER JOIN translator_venue ON translator_venue.venue_id = events.venue_id
-- LEFT JOIN transaction ON transaction.booking_id=booking.bookId
WHERE (translator_event.language_code='$lang' OR translator_event.language_code='EN').
AND booking.bookId='$booking_id' AND events.has_payment != '1'
AND transaction.status = '1'";
return $this->db->query($sql)->row_array();
}
function getHotelData($booking_id='',$user_id=''){
$sql = "SELECT HBK.id AS event_id, HBK.hotel_book_id AS bookingCode,HBK.price AS amount,
HBK.checkin AS event_date,HBK.hotel_name AS event_name,HBK.qrcode,
HBK.hotel_image AS media_url,HBK.status AS book_status,HBK.traveller_details
FROM hotel_booking AS HBK
-- LEFT JOIN transaction AS TRS ON TRS.booking_id=HBK.hotel_book_id
WHERE HBK.hotel_book_id='$booking_id'";
$hotelData = $this->db->query($sql)->row_array();
if(empty($hotelData)){
return;
}
$trvlDtls = (isset($hotelData['traveller_details']) && !empty($hotelData['traveller_details']))?json_decode($hotelData['traveller_details']):'';
$hotelData['location'] = (!empty($trvlDtls) && isset($trvlDtls->hotel_address))?$trvlDtls->hotel_address:'';
$hotelData['no_of_ticket'] = (!empty($trvlDtls) && isset($trvlDtls->roomDetails->room))?$trvlDtls->roomDetails->room.' Room':'';
$hotelData['event_time'] = '11:00';
$hotelData['book_id'] = $hotelData['event_id'];
$hotelData['venue_id'] = $hotelData['event_id'];
$hotelData['has_payment'] = 1;
unset($hotelData['traveller_details']);
return $hotelData;
}
function getFlightData($booking_id='',$user_id=''){
$sql = "SELECT FBK.id AS event_id,FBK.flight_book_id AS bookingCode,HBK.price AS amount,
FBK.departure_date AS event_date,FBK.flight_name AS event_name,FBK.qrcode,
FBK.flight_image AS media_url,FBK.status AS booking_status,
FBK.traveller_details
FROM flight_booking AS FBK
-- LEFT JOIN transaction AS TRS ON TRS.booking_id=FBK.flight_book_id
WHERE FBK.flight_book_id='$booking_id'";
$flightData = $this->db->query($sql)->row_array();
if(empty($flightData)){
return;
}
$trvlDtls = (isset($flightData['traveller_details']) && !empty($flightData['traveller_details']))?json_decode($flightData['traveller_details']):'';
$flightData['location'] = (!empty($trvlDtls))?$trvlDtls->fromAirportCity.' - '.$trvlDtls->toAirportCity:'';
$flightData['ticket_count'] = (!empty($trvlDtls))?(int)$trvlDtls->passengerDetails->adult + (int)$trvlDtls->passengerDetails->children + (int)$trvlDtls->passengerDetails->infant:'';
$fghtTme = explode("T",$flightData['date']);
unset($flightData['traveller_details'],$flightData['date']);
$flightData['date'] = (isset($fghtTme[0]) && !empty($fghtTme[0]))?$fghtTme[0]:'';
$flightData['time'] = (isset($fghtTme[1]) && !empty($fghtTme[1]))?$fghtTme[1]:'';
$flightData['has_payment'] = 1;
$flightData['book_id'] = $flightData['event_id'];
$flightData['venue_id'] = $flightData['event_id'];
return $flightData;
}
function bookingdetails($data) { function bookingdetails($data) {
try { try {
$user_id = $this->auth_token_get($data['auth_token']); $user_id = $this->auth_token_get($data['auth_token']);
...@@ -1806,10 +1877,14 @@ class Api_model extends CI_Model { ...@@ -1806,10 +1877,14 @@ class Api_model extends CI_Model {
return; return;
} }
$bookId = 'HTL'.date('ymd').str_pad(rand(1111,9999),4,0,STR_PAD_LEFT); $bookId = 'HTL'.date('ymd').str_pad(rand(1111,9999),4,0,STR_PAD_LEFT);
$insert = array('hotel_book_id'=>$bookId,'hotel_name'=>$bookData['hotelName'], $qrcode = genQRcode($bookId);
'hotel_image'=>$bookData['hotelImage'],'checkin'=>$bookData['checkin'], $trvlerDtls = array("roomDetails"=>array("room"=>$bookData['rooms'],"adult"=>$bookData['adult'],"children"=>$bookData['child']),"checkin"=>$bookData['checkin'],"checkout"=>$bookData['checkout'],"hotel_address"=>$bookData['hotelAddress']);
'checkout'=>$bookData['checkout'],'price'=>$bookData['amount'],
'request_data'=>json_encode($bookData['requestData'])); $insert = array('hotel_book_id'=>$bookId,'customer_id'=>$user_id,'hotel_name'=>
$bookData['hotelName'],'hotel_image'=>$bookData['hotelImage'],'checkin'=>
$bookData['checkin'],'checkout'=>$bookData['checkout'],'price'=>
$bookData['amount'],'request_data'=>json_encode($bookData['requestData']),'traveller_details'=>json_encode($trvlerDtls),
'qrcode'=>$qrcode);
$this->db->insert('hotel_booking',$insert); $this->db->insert('hotel_booking',$insert);
$this->db->insert('orders',array('booking_id'=>$bookId,'order_type'=>'2','created_date'=>date('Y-m-d h:i:s'))); $this->db->insert('orders',array('booking_id'=>$bookId,'order_type'=>'2','created_date'=>date('Y-m-d h:i:s')));
return array('status'=>1,'transaction_id'=>$bookId); return array('status'=>1,'transaction_id'=>$bookId);
...@@ -1848,10 +1923,11 @@ class Api_model extends CI_Model { ...@@ -1848,10 +1923,11 @@ class Api_model extends CI_Model {
return; return;
} }
$bookId = 'FBK'.date('ymd').str_pad(rand(1111,9999),4,0,STR_PAD_LEFT); $bookId = 'FBK'.date('ymd').str_pad(rand(1111,9999),4,0,STR_PAD_LEFT);
$insert = array('flight_book_id'=>$bookId,'flight_name'=>$bookData['flightName'], $qrcode = genQRcode($bookId);
'flight_image'=>$bookData['flightImage'],'departure_date'=>$bookData['departure_date'], $insert = array('flight_book_id'=>$bookId,'customer_id'=>$user_id,'flight_name'=>
'arrival_date'=>$bookData['arrival_date'],'price'=>$bookData['amount'], $bookData['flightName'],'flight_image'=>$bookData['flightImage'],
'request_data'=>json_encode($bookData['requestData'])); 'departure_date'=>$bookData['departure_date'],'price'=>$bookData['amount'],
'arrival_date'=>$bookData['arrival_date'],'request_data'=>json_encode($bookData['requestData']),'traveller_details'=>json_encode($bookData['requestData']['traveller_details']),'qrcode'=>$qrcode);
$this->db->insert('flight_booking',$insert); $this->db->insert('flight_booking',$insert);
$this->db->insert('orders',array('booking_id'=>$bookId,'order_type'=>'3','created_date'=>date('Y-m-d h:i:s'))); $this->db->insert('orders',array('booking_id'=>$bookId,'order_type'=>'3','created_date'=>date('Y-m-d h:i:s')));
return array('status'=>1,'transaction_id'=>$bookId); return array('status'=>1,'transaction_id'=>$bookId);
......
...@@ -1428,62 +1428,50 @@ class Webservice_model extends CI_Model { ...@@ -1428,62 +1428,50 @@ class Webservice_model extends CI_Model {
return $res; return $res;
} }
function bookedlist($data) {
function bookedlist($data,$per_page='',$page ='',$count ='') {
try { try {
$per_page = 10;
$user_id = $this->auth_token_get($data['auth_token']); $user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) { if($user_id > 0) {
$count = $this->db->query(" if($page == 0 && $per_page == 0){
SELECT BOK.id FROM booking AS BOK $page = $page;
INNER JOIN events AS EVT ON (EVT.event_id=BOK.event_id) }else{
INNER JOIN event_date_time AS EDT ON (EVT.event_id=EVT.event_id) $page = (isset($data['page']))? $data['page']:1;
WHERE BOK.customer_id='$user_id' AND BOK.status IN (0,1,2,6) AND EVT.status='1'
GROUP BY BOK.id")->num_rows();
if($count > 0) {
if(isset($data['page'])) {
$page = $data['page'];
} else {
$page = 1;
} }
$page_limit = ($page - 1) * $per_page; $page_limit = ($page - 1) * $per_page;
$cond =($per_page == 0 && $page == 0)?'':"LIMIT $page_limit, $per_page";
$bookedData = $this->db->query("
SELECT ODR.order_id,ODR.order_type,ODR.booking_id FROM orders AS ODR
LEFT JOIN booking AS BOK ON
(ODR.booking_id=BOK.bookId AND BOK.status IN (0,1,2,3,5,6) AND
BOK.customer_id='$user_id')
LEFT JOIN flight_booking AS FBK ON
(ODR.booking_id=FBK.flight_book_id AND FBK.status IN (0,1,2,3,5) AND
FBK.customer_id='$user_id')
LEFT JOIN hotel_booking AS HBK ON
(ODR.booking_id=HBK.hotel_book_id AND HBK.status IN (0,1,2,3,5) AND
HBK.customer_id='$user_id')
GROUP BY ODR.order_id $cond");
if($per_page == 0 && $page == 0){
return $bookedData->num_rows();
}
if(count($bookedData) > 0) {
if($count > $page_limit) { if($count > $page_limit) {
$countryData = $this->getCountryData($user_id); $bookData = array();
$lang = $countryData['language_code']; foreach (($bookedData = $bookedData->result_array()) as $key => $value) {
switch($value['order_type']){
$sql = "SELECT booking.bookId AS booking_id,event_date_time.date, case 1 : $resp = $this->getEventData($value['booking_id'],$user_id);break;
translator_event.event_name,booking.qrcode AS event_image, case 2 : $resp = $this->getHotelData($value['booking_id'],$user_id);break;
venue.location,event_date_time.time,booking.event_id, case 3 : $resp = $this->getFlightData($value['booking_id'],$user_id);break;
booking.no_of_ticket AS ticket_count,events.has_payment,
booking.status AS booking_status,transaction.status AS transaction_status
FROM booking
INNER JOIN events ON booking.event_id = events.event_id
INNER JOIN event_date_time ON booking.event_date_id = event_date_time.id
INNER JOIN venue ON venue.id = events.venue_id
INNER JOIN translator_event ON translator_event.event_id=events.event_id
LEFT JOIN transaction ON transaction.booking_id=booking.bookId
WHERE booking.customer_id = '$user_id' AND booking.status IN (0,1,2,6)
AND (translator_event.language_code='$lang' OR
translator_event.language_code='EN')
GROUP BY booking.id
ORDER BY booking.id DESC
LIMIT $page_limit, $per_page";
$result = $this->db->query($sql)->result_array();
if(!empty($result)){
foreach ($result AS $key => $value) {
if($value['has_payment'] == '1' && $value['transaction_status'] != '1'){
unset($result[$key]);
} }
if(!empty($resp)){
$bookData[] = $resp;
} }
$result = array_values($result);
} }
$meta = array('total_pages'=>ceil($count/$per_page), $meta = array('total_pages'=>ceil($count/$per_page),'total'=>$count,'current_page'=>$page,'per_page'=>$per_page);
'total'=>$count, $res = array('status'=>1,'data'=>array('bookings'=>$bookData,'meta'=>$meta));
'current_page'=>$page,
'per_page'=>$per_page
);
$response = array('bookings'=>$result,'meta'=>$meta);
$res = array('status'=>1,'data'=>$response);
} else { } else {
$res = array('status'=>1,'data' => []); $res = array('status'=>1,'data' => []);
} }
...@@ -1499,6 +1487,73 @@ class Webservice_model extends CI_Model { ...@@ -1499,6 +1487,73 @@ class Webservice_model extends CI_Model {
return $res; return $res;
} }
function getEventData($booking_id='',$user_id=''){
$countryData = $this->getCountryData($user_id);
$lang = $countryData['language_code'];
$sql = "SELECT booking.bookId AS booking_id,event_date_time.date,
translator_event.event_name,booking.qrcode AS event_image,
venue.location,event_date_time.time,booking.event_id,
booking.no_of_ticket AS ticket_count,events.has_payment,
booking.status AS booking_status,transaction.status AS transaction_status
FROM booking
INNER JOIN events ON booking.event_id = events.event_id
INNER JOIN event_date_time ON booking.event_date_id = event_date_time.id
INNER JOIN venue ON venue.id = events.venue_id
INNER JOIN translator_event ON translator_event.event_id=events.event_id
LEFT JOIN transaction ON transaction.booking_id=booking.bookId
WHERE (translator_event.language_code='$lang' OR translator_event.language_code='EN').
AND booking.bookId='$booking_id' AND events.has_payment != '1'
AND transaction.status = '1'";
return $this->db->query($sql)->row_array();
}
function getHotelData($booking_id='',$user_id=''){
$sql = "SELECT HBK.hotel_book_id AS bookId,HBK.hotel_name AS event_name,
HBK.qrcode AS event_image,HBK.checkin AS date, HBK.id AS event_id,
HBK.status AS booking_status,TRS.status AS transaction_status,
HBK.traveller_details
FROM hotel_booking AS HBK
LEFT JOIN transaction AS TRS ON TRS.booking_id=HBK.hotel_book_id
WHERE HBK.hotel_book_id='$booking_id'";
$hotelData = $this->db->query($sql)->row_array();
if(empty($hotelData)){
return;
}
$trvlDtls = (isset($hotelData['traveller_details']) && !empty($hotelData['traveller_details']))?json_decode($hotelData['traveller_details']):'';
$hotelData['location'] = (!empty($trvlDtls) && isset($trvlDtls->hotel_address))?$trvlDtls->hotel_address:'';
$hotelData['ticket_count'] = (!empty($trvlDtls) && isset($trvlDtls->roomDetails->room))?$trvlDtls->roomDetails->room.' Room':'';
$hotelData['time'] = '11:00';
$hotelData['has_payment'] = 1;
unset($hotelData['traveller_details']);
return $hotelData;
}
function getFlightData($booking_id='',$user_id=''){
$sql = "SELECT FBK.flight_book_id AS bookId,FBK.flight_name AS event_name,FBK.id AS event_id,
FBK.qrcode AS event_image,FBK.departure_date AS date,
FBK.status AS booking_status,TRS.status AS transaction_status,
FBK.traveller_details
FROM flight_booking AS FBK
LEFT JOIN transaction AS TRS ON TRS.booking_id=FBK.flight_book_id
WHERE FBK.flight_book_id='$booking_id'";
$flightData = $this->db->query($sql)->row_array();
if(empty($flightData)){
return;
}
$trvlDtls = (isset($flightData['traveller_details']) && !empty($flightData['traveller_details']))?json_decode($flightData['traveller_details']):'';
$flightData['location'] = (!empty($trvlDtls))?$trvlDtls->fromAirportCity.' - '.$trvlDtls->toAirportCity:'';
$flightData['ticket_count'] = (!empty($trvlDtls))?(int)$trvlDtls->passengerDetails->adult + (int)$trvlDtls->passengerDetails->children + (int)$trvlDtls->passengerDetails->infant:'';
$fghtTme = explode("T",$flightData['date']);
unset($flightData['traveller_details'],$flightData['date']);
$flightData['date'] = (isset($fghtTme[0]) && !empty($fghtTme[0]))?$fghtTme[0]:'';
$flightData['time'] = (isset($fghtTme[1]) && !empty($fghtTme[1]))?$fghtTme[1]:'';
$flightData['has_payment'] = 1;
return $flightData;
}
function get_settings($data) { function get_settings($data) {
try { try {
$user_id = $this->auth_token_get($data['auth_token']); $user_id = $this->auth_token_get($data['auth_token']);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment