Пример #1
0
 public function updateOrder($attr)
 {
     $order = OrderMedlatec::model()->findByPk($attr['order_id']);
     if ($order) {
         $order->setAttributes($attr);
         $order->time_meet = StringHelper::dateToTime($attr['time_meet']);
         $order->time_confirm = StringHelper::dateToTime($attr['time_confirm']);
         $order->updated_at = time();
         if ($order->save(FALSE)) {
             $meboo = $order->user_meboo;
             //  echo $meboo; die;
             //echo $order->status; die;
             $device_tokens = DeviceTk::model()->findAllByAttributes(array('user_id' => $meboo));
             $ios_alert = null;
             if ($order->status == 2) {
                 $ios_alert = 'Dịch vụ bạn đặt (' . ServiceMedlatec::model()->getServiceNameById($order->service_id) . ') đã được Meboo xác nhận';
             } else {
                 if ($order->status == 4) {
                     $ios_alert = 'Dịch vụ bạn đặt (' . ServiceMedlatec::model()->getServiceNameById($order->service_id) . ') đã được hoàn thành';
                 }
             }
             $message_android = array('medlatec_order' => array('order_id' => $attr['order_id']));
             $message_ios = array('alert' => $ios_alert, 'sound' => 'default', 'data' => array('id' => $attr['order_id'], 'type' => '0', 'user_id' => $meboo));
             $message = array('message_android' => $message_android, 'message_ios' => $message_ios);
             foreach ($device_tokens as $token) {
                 //  echo $token->platform;
                 Util::sendNotificationBasedOnStatus($token->device_token, $order->status, $message);
             }
             //die;
             return TRUE;
         }
     }
     return FALSE;
 }
Пример #2
0
 public static function sendNotificationBasedOnStatus($device_token, $status, $message)
 {
     $token = DeviceTk::model()->findByAttributes(array('device_token' => $device_token));
     if ($token) {
         $time_diff = time() - $token->updated_at;
         // echo $time_diff; die;
         if ($time_diff < 7776000) {
             if ($status == 2 || $status == 4) {
                 //  echo '2'; die;
                 if ($token->platform == 'android') {
                     GcmHelper::sendNotification($device_token, $message['message_android']);
                 } else {
                     if ($token->platform == 'ios') {
                         // echo $device_token; die;
                         IosPushHelper::sendNotification($device_token, $message['message_ios']);
                     }
                 }
             }
         }
     }
 }
Пример #3
0
 public function updateResultByOrder($attr, $urls)
 {
     $check = ResultMedlatec::model()->findByAttributes(array('order_id' => $attr['order_id']));
     if ($check) {
         $check->setAttributes($attr);
         $check->updated_at = time();
         $check->save(FALSE);
         $order = OrderMedlatec::model()->findByPk($attr['order_id']);
         $order->status = 4;
         $order->save(FALSE);
         $meboo = $order->user_meboo;
         $device_tokens = DeviceTk::model()->findAllByAttributes(array('user_id' => $meboo));
         $message_android = array('medlatec_order' => array('order_id' => $attr['order_id']));
         $message_ios = array('alert' => 'Dịch vụ của bạn vừa có thông tin', 'sound' => 'default', 'data' => array('id' => $attr['order_id'], 'type' => '0'));
         $message = array('message_android' => $message_android, 'message_ios' => $message_ios);
         foreach ($device_tokens as $token) {
             //  echo $token->platform;
             Util::sendNotificationBasedOnStatus($token->device_token, $order->status, $message);
         }
         //die;
         if (!empty($urls) && is_array($urls)) {
             $files = ResultFile::model()->findAllByAttributes(array('result_id' => $check->id));
             if ($files) {
                 foreach ($files as $file) {
                     $file->delete();
                 }
             }
             foreach ($urls as $url) {
                 $file = new ResultFile();
                 $file->url = $url;
                 $file->updated_at = time();
                 $file->created_at = time();
                 $file->result_id = $check->id;
                 $file->save(FALSE);
             }
         }
         return TRUE;
     } else {
         $model = new ResultMedlatec();
         $model->setAttributes($attr);
         $model->order_id = $attr['order_id'];
         $model->created_at = time();
         $model->updated_at = time();
         $model->save(FALSE);
         $order = OrderMedlatec::model()->findByPk($attr['order_id']);
         $order->status = 4;
         $order->save(FALSE);
         $meboo = $order->user_meboo;
         $meboo_token = User::model()->findByPk($meboo);
         if ($meboo_token) {
             $message = array('medlatec_order' => array('order_id' => $attr['order_id']));
             Util::sendNotificationBasedOnStatus($meboo_token->device_token, $order->status, $message);
         }
         if (!empty($urls) && is_array($urls)) {
             foreach ($urls as $url) {
                 $file = new ResultFile();
                 $file->url = $url;
                 $file->updated_at = time();
                 $file->created_at = time();
                 $file->result_id = $model->id;
                 $file->save(FALSE);
             }
         }
         return TRUE;
     }
 }
Пример #4
0
 public function deleteToken($device_token, $user_id)
 {
     $token = DeviceTk::model()->findByAttributes(array('device_token' => $device_token, 'user_id' => $user_id));
     if ($token) {
         if ($token->delete()) {
             return TRUE;
         }
     }
     return FALSE;
 }
Пример #5
0
 public function actionDeleteToken()
 {
     $request = Yii::app()->request;
     if ($request->isPostRequest && isset($_POST)) {
         try {
             $device_token = StringHelper::filterString($request->getPost('device_token'));
             $user_id = StringHelper::filterString($request->getPost('user_id'));
             if (DeviceTk::model()->deleteToken($device_token, $user_id)) {
                 ResponseHelper::JsonReturnSuccess('', 'Success');
             } else {
                 ResponseHelper::JsonReturnError('', 'Server Error');
             }
         } catch (exception $e) {
             var_dump($e->getMessage());
         }
         Yii::app()->end();
     }
 }