Commit 452a540d by Tobin

dc

parent 4aaf92aa
......@@ -21,7 +21,7 @@ $sql = "SELECT CUST.customer_id,CUST.fcm_token,BOK.id AS booking_id,BOK.bookId,E
INNER JOIN users AS USR ON (USR.id=CUST.customer_id)
INNER JOIN events AS EVT ON (EVT.event_id=BOK.event_id)
INNER JOIN event_date_time AS EDATE ON (EDATE.event_id=BOK.event_id)
WHERE BOK.status='1' AND USR.status='1' AND EDATE.status='1' AND
WHERE EVT.status='1' AND BOK.status='1' AND USR.status='1' AND EDATE.status='1' AND
EDATE.date='$date' AND EDATE.time<='$eTime' AND EDATE.time>='$sTime'
GROUP BY BOK.id,CUST.customer_id";
$result = mysqli_query($conn, $sql);
......
......@@ -332,7 +332,11 @@ class Api_model extends CI_Model {
$per_page = 10;
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
$count = $this->db->query("SELECT id FROM booking WHERE customer_id='$user_id' AND status IN (0,1,2)")->num_rows();
$count = $this->db->query("
SELECT id FROM booking AS BOK
INNER JOIN events AS EVT ON (EVT.event_id=BOK.event_id)
WHERE BOK.customer_id='$user_id' AND BOK.status IN (0,1,2) AND
EVT.status='1'")->num_rows();
if($count > 0) {
......@@ -345,7 +349,8 @@ class Api_model extends CI_Model {
$page_limit = ($page - 1) * $per_page;
if($count > $page_limit) {
$result = $this->db->select('booking.id AS book_id,booking.event_id,booking.bookId AS bookingCode,booking.qrcode,booking.no_of_ticket,booking.amount,booking.status AS book_status,events.event_name,events.event_discription,event_gallery.media_url,venue.location,event_date_time.date AS event_date,event_date_time.time AS event_time')->where('customer_id',$user_id)->where('booking.status!=',3)->from('booking')->join('events','booking.event_id = events.event_id')->join('event_date_time','booking.event_date_id = event_date_time.id')->join('venue', 'venue.id = events.venue_id')->join('event_gallery', 'events.event_id = event_gallery.event_id AND event_gallery.media_type = 0', 'LEFT')->group_by('booking.id')->order_by('booking.id','DESC')->limit($per_page,$page_limit)->get()->result();
$result = $this->db->select('booking.id AS book_id,booking.event_id,booking.bookId AS bookingCode,booking.qrcode,booking.no_of_ticket,booking.amount,booking.status AS book_status,events.event_name,events.event_discription,event_gallery.media_url,venue.location,event_date_time.date AS event_date,event_date_time.time AS event_time')->where('customer_id',$user_id)->where_in('booking.status',array(0,1,2))->from('booking')->join('events','booking.event_id = events.event_id')->join('event_date_time','booking.event_date_id = event_date_time.id')->join('venue', 'venue.id = events.venue_id')->join('event_gallery', 'events.event_id = event_gallery.event_id AND event_gallery.media_type = 0', 'LEFT')->group_by('booking.id')->order_by('booking.id','DESC')->limit($per_page,$page_limit)->get()->result();
$meta = array('total_pages'=>ceil($count/$per_page),
'total'=>$count,
'current_page'=>$page,
......@@ -590,49 +595,63 @@ class Api_model extends CI_Model {
$page_limit = ($page - 1) * $per_page;
if($count > $page_limit) {
$result = $this->db->query("SELECT events.event_id, AVG(review.rate) AS rate, MAX(booking.id) AS attendees, events.event_name,events.event_discription AS event_description,events.seat_pricing, events.custom_seat_layout, venue.layout, venue.layout_details,`event_gallery`.`media_url`,favourite.status AS fav_status, GROUP_CONCAT(DISTINCT tags.tag_name) AS tag FROM events INNER JOIN event_date_time ON events.event_id = event_date_time.event_id AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d') 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 LEFT JOIN booking on booking.event_id = events.event_id LEFT JOIN favourite ON favourite.event_id = events.event_id AND favourite.user_id = ".$user_id." AND favourite.status = 1 LEFT JOIN event_tags ON events.event_id = event_tags.event_id LEFT JOIN tags on tags.tag_id = event_tags.tag_id LEFT JOIN review ON events.event_id = review.event_id WHERE events.status = 1 GROUP BY events.event_id ORDER BY attendees DESC LIMIT ". $page_limit.", ".$per_page)->result();
if(count($result)>0){
$resultData = array();
foreach ($result as $rs) {
if($rs->layout!=''){
if($rs->custom_seat_layout!=''){
$pricelist = json_decode($rs->custom_seat_layout, TRUE);
$price = min(array_column($pricelist, 'price'));
$result = $this->db->query("SELECT events.event_id, events.event_name,events.event_discription AS event_description,events.seat_pricing, events.custom_seat_layout, venue.layout, venue.layout_details,`event_gallery`.`media_url`,favourite.status AS fav_status, GROUP_CONCAT(DISTINCT tags.tag_name) AS tag FROM events INNER JOIN event_date_time ON events.event_id = event_date_time.event_id AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d') 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 LEFT JOIN booking on booking.event_id = events.event_id LEFT JOIN favourite ON favourite.event_id = events.event_id AND favourite.user_id = ".$user_id." AND favourite.status = 1 LEFT JOIN event_tags ON events.event_id = event_tags.event_id LEFT JOIN tags on tags.tag_id = event_tags.tag_id WHERE events.status = 1 GROUP BY events.event_id LIMIT ".$page_limit.",".$per_page)->result();
if(count($result)>0){
$resultData = array();
foreach ($result as $rs) {
$sql = "SELECT AVG(review.rate) AS rate
FROM review WHERE event_id=$rs->event_id";
$rating = $this->db->query($sql)->row_array();
$rate = isset($rating['rate'])&&!empty($rating['rate'])?
$rating['rate']:'0.0';
$sql = "SELECT SUM(booking.no_of_ticket) AS attend FROM booking
WHERE status IN (1,2) AND event_id=$rs->event_id";
$atten = $this->db->query($sql)->row_array();
$atte = isset($atten['attend'])&&!empty($atten['attend'])?
$atten['attend']:'0';
if($rs->layout!=''){
if($rs->custom_seat_layout!=''){
$pricelist = json_decode($rs->custom_seat_layout, TRUE);
$price = min(array_column($pricelist, 'price'));
} else {
$pricelist = json_decode($rs->layout_details, TRUE);
$price = min(array_column($pricelist, 'price'));
}
} else {
$pricelist = json_decode($rs->layout_details, TRUE);
$price = min(array_column($pricelist, 'price'));
$pricelist = json_decode($rs->seat_pricing, TRUE);
$price = $pricelist['price'];
}
} else {
$pricelist = json_decode($rs->seat_pricing, TRUE);
$price = $pricelist['price'];
}
$tags = explode(',', $rs->tag);
$resData = array(
'event_name'=>$rs->event_name,
'event_description'=>$rs->event_description,
'media_url'=>$rs->media_url,
'fav_status'=>$rs->fav_status,
'price'=>$price,
'event_id'=>$rs->event_id,
'attendees'=>$rs->attendees,
'rate'=>$rs->rate,
'tag'=>$tags
);
array_push($resultData, $resData);
$tags = explode(',', $rs->tag);
$resData = array(
'event_name'=>$rs->event_name,
'event_description'=>$rs->event_description,
'media_url'=>$rs->media_url,
'fav_status'=>$rs->fav_status,
'price'=>$price,
'event_id'=>$rs->event_id,
'attendees'=>$atte,
'rate'=>$rate,
'tag'=>$tags
);
array_push($resultData, $resData);
}
$meta = array('total_pages'=>ceil($count/$per_page),
'total'=>$count,
'current_page'=>$page,
'per_page'=>$per_page
);
$response = array('data'=>$resultData,'meta'=>$meta);
$res = array('status'=>1,'data'=>$response);
} else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
}
$meta = array('total_pages'=>ceil($count/$per_page),
'total'=>$count,
'current_page'=>$page,
'per_page'=>$per_page
);
$response = array('data'=>$resultData,'meta'=>$meta);
$res = array('status'=>1,'data'=>$response);
} else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
}
} else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
}
} else {
......@@ -641,10 +660,8 @@ class Api_model extends CI_Model {
} else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
}
} catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
}
return $res;
}
......
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