Commit d665d6aa by Tobin

dc

parent 3eb294e0
......@@ -521,18 +521,27 @@ class Webservices extends CI_Controller {
continue;
}
if($ride['request_type'] == 3 &&
(empty($ride['appointment_time'])||$ride['appointment_time']<strtotime(date('Y-m-d H:i:s')))){
(empty($ride['appointment_time']) ||
$ride['appointment_time'] < strtotime(date('Y-m-d H:i:s')) ||
$ride['appointment_time'] > (strtotime(date('Y-m-d H:i:s'))+7200))){
continue;
}
$driver_data=$this->Webservice_model->getAvailableDrivers($ride['pickup_lat'],$ride['pickup_lng']);
$driver_data = $this->Webservice_model->getAvailableDrivers($ride['pickup_lat'],$ride['pickup_lng'],$ride['transport_id']);
if(empty($driver_data)){
continue;
}
if(!empty($driver_data) && !empty($driver_data['driver_id']) &&
!empty($driver_data['distance']) && !empty($driver_data['fcm_token'])){
$this->db->update('transport_details',array('status'=>'3'),array('transport_id'=>$ride_id));
$this->db->insert('driver_request',array('trip_id'=>$ride_id,
'driver_id'=>$driverData[$key]['driver_id'],
'request_time'=>date('Y-m-d H:i:s'),'status'=>'0'));
$type = ($ride['request_type'] == 3)?'2':'1';
$fcm_data = array('title'=>'Ride Request','message'=>'Emergency Ride Request',
'request_id'=>$ride['transport_id']);
push_sent_cancel(1,$driver_data['fcm_token'],$fcm_data);
push_sent_cancel($type,$driver_data['fcm_token'],$fcm_data);
}
}
}
......
......@@ -152,9 +152,9 @@ function push_sent_cancel($type='1', $fcm_token='', $fcm_data=array()) {
case '1':
$data = "{ \"notification\": { \"title\": \"".$fcm_data['title']."\", \"text\": \"".$fcm_data['message']."\", \"sound\": \"default\" }, \"time_to_live\": 60, \"data\" : {\"response\" : {\"status\" : \"success\", \"data\" : {\"request_id\" : \"".$fcm_data['request_id']."\", \"request_type\" : 0}}}, \"collapse_key\" : \"trip\", \"priority\":\"high\", \"to\" : \"".$fcm_token."\"}";
break;
// case '2':
// $data = "{ \"notification\": { \"title\": \"".$fcm_data['title']."\", \"text\": \"".$fcm_data['message']."\", \"sound\": \"default\" }, \"time_to_live\": 60, \"data\" : {\"response\" : {\"status\" : \"success\", \"data\" : {\"booking_id\" : \"".$fcm_data['id']."\", \"trip_status\" : 0}}}, \"collapse_key\" : \"trip\", \"priority\":\"high\", \"to\" : \"".$fcm_token."\"}";
// break;
case '2':
$data = "{ \"notification\": { \"title\": \"".$fcm_data['title']."\", \"text\": \"".$fcm_data['message']."\", \"sound\": \"default\" }, \"time_to_live\": 60, \"data\" : {\"response\" : {\"status\" : \"success\", \"data\" : {\"request_id\" : \"".$fcm_data['request_id']."\", \"request_type\" : 1}}}, \"collapse_key\" : \"trip\", \"priority\":\"high\", \"to\" : \"".$fcm_token."\"}";
break;
}
$ch = curl_init("https://fcm.googleapis.com/fcm/send");
......
......@@ -480,12 +480,17 @@ class Webservice_model extends CI_Model {
}
public function driverAssignCrone(){
$date = date('Y-m-d H:i:s',strtotime('-3 minutes',strtotime(date('Y-m-d H:i:s'))));
$sql = "UPDATE transport_details AS TD
INNER JOIN driver_request AS DR ON (DR.trip_id=TD.transport_id)
SET TD.status='1',DR.status='3' WHERE DR.request_time<='$date' AND DR.status='0'";
$this->db->query($sql);
$sql = "SELECT TD.transport_id,TD.appointment_time,TD.pickup_lat,TD.pickup_lng,TD.drop_lat,
TD.drop_lng,TD.vehicle_type,TD.status,TD.is_scheduled,DR.request_time,DR.status,TD.request_type
TD.drop_lng,TD.vehicle_type,TD.status,TD.is_scheduled,TD.request_type
FROM transport_details AS TD
LEFT JOIN driver_request AS DR ON (TD.transport_id=DR.trip_id)
LEFT JOIN drivers AS DRV ON (DR.driver_id=DR.driver_id)
WHERE ((request_type='3' AND is_scheduled='1') OR (request_type='1')) AND
LEFT JOIN driver_request AS DR ON (TD.transport_id=DR.trip_id AND DR.status IN (2,3))
WHERE ((TD.request_type='3' AND TD.is_scheduled='1') OR (TD.request_type='1')) AND
TD.status IN ('1','3','7')
ORDER BY TD.transport_id DESC";
$ride_data = $this->db->query($sql);
......@@ -495,8 +500,8 @@ class Webservice_model extends CI_Model {
return $ride_data->result_array();
}
public function getAvailableDrivers($lat='',$lng=''){
if(empty($lat) || empty($lng)){
public function getAvailableDrivers($lat='',$lng='',$ride_id=''){
if(empty($lat) || empty($lng) || empty($ride_id)){
return;
}
$cTime = date('H:i');
......@@ -506,8 +511,8 @@ class Webservice_model extends CI_Model {
cos(($lat*pi()/180))*cos((lat_driver*pi()/180))*
cos((($lng-lng_driver)*pi()/180))))*180/pi())*60*1.1515) as distance
FROM drivers AS d
WHERE d.status='1' AND d.online_start_time < '$cTime' AND d.online_end_time > '$cTime'
HAVING distance<15
WHERE d.status='1' AND d.online_start_time<'$cTime' AND d.online_end_time>'$cTime'
-- HAVING distance<15
ORDER BY distance DESC");
if(!empty($data) && !empty($driverData = $data->result_array())){
......
......@@ -2383,10 +2383,6 @@ function booster_seat($request) {
function push_sent_cancel($fcm_token, $fcm_data) {
// print_r($fcm_data);
$data1 = "SELECT * FROM settings WHERE id = '1' ";
$query1 = $this->db->query($data1);
$rs = $query1->row();
......@@ -2406,10 +2402,6 @@ function booster_seat($request) {
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// curl_close($ch);
$out = curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
......
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