/var/www/vhosts/nabawater/console/controllers
NameSizeModeActions
.gitkeep00644editdlrm
CronController.php137120644editdlrm
Edit: /var/www/vhosts/nabawater/console/controllers/CronController.php (13712B)
where(['<>', 'order_status',[Order::ORDER_STATUS_DELIVERED, Order::ORDER_STATUS_REJECTED]]) ->andwhere(['delivery_option' => 2]) ->andwhere(['is_notification_sent' => 0]) ->asArray() ->orderBy(['order_id' => SORT_DESC]) ->all(); foreach ($modelOrders as $key => $model) { //print_r($model); die; $is_reschedule = 0; if($model['delivery_option'] != 2){ $is_reschedule = 0; } if($model['order_status'] == Order::ORDER_STATUS_DELIVERED) { $is_reschedule = 0; } if($model['is_deliveryboy_request_for_reschdule'] == 1) { $is_reschedule = 1; } //if(date("Y-m-d H:i:s", strtotime('-1 day')) > $model['pickup_delivery_date_time']) { $t2 = strtotime(date("Y-m-d H:i:s") ); $t1 = strtotime($model['pickup_delivery_date_time']); $diff = $t1 - $t2; $hours = $diff / ( 60 * 60 ); if($hours < 24 && 0 < $hours){ $is_reschedule = 1; } $modelU = Order::findOne($model['order_id']); $modelU->is_notification_sent = 1; $modelU->save(false); //if($model->reschedule_status == 2) { // return 0; //} //print_r(date("Y-m-d H:i:s").' '.$model['pickup_delivery_date_time']); die; if($is_reschedule == 0) { continue; } $modelUser = User::findOne($model['user_id']); try { $oneSignal = OneSignal::getInstance(); $oneSignal->setAppId(Configuration::get(Configuration::PUSH_NOTIFICATION_APP_ID)); $oneSignal->setRestApiKey(Configuration::get(Configuration::PUSH_NOTIFICATION_REST_API_KEY)); $oneSignal->setIcon('http://online.kitokey.com/frontend/web/theme/images/notification.png'); $oneSignal->push( ['en' => 'Order Later Delivery'], ['en' => 'The order number '.$model['order_number'].' will be delivered by ('.date("d/m/Y", strtotime($model['pickup_delivery_date_time'])).' - '.date("H:i:s", strtotime($model['pickup_delivery_date_time'])) .')'], [$modelUser['device_token']], ['status' => 'Message Sent Successfully', 'order_key' => $model['order_key']] ); } catch (Exception $e) { $result['msg'] = $e->getMessage(); echo $e->getMessage(); //die; } $html = Yii::$app->controller->renderPartial('@backend/views/webpush-notification/cronMail', ['msg' => 'The order number '.$model['order_number'].' will be delivered by ('.date("d/m/Y", strtotime($model['pickup_delivery_date_time'])).' - '.date("H:i:s", strtotime($model['pickup_delivery_date_time'])) .')']); $mailer = Mailer::getInstance()->setTo('saravanan.r@technoduce.com'); $mailer->setSubject('Order Later Delivery'); $mailer->setMessage($html); $response = $mailer->send(); //die('done'); } } public function actionNotification() { echo "cron step 1"; $currentTime = Date('H:i'); // print_r($currentTime); die; $timeslots = []; $userToken = []; $t1 = strtotime('05:00'); $t2 = strtotime('23:00'); echo "cron step 2"; while ($t1 < $t2) { $t1 = strtotime('+1 hour', $t1); $timeslots[] = date('H:i', $t1); } if(in_array($currentTime, $timeslots)) { $dateIndex = [ '1' => 'monday_status', '2' => 'tuesday_status', '3' => 'wednesday_status', '4' => 'thursday_status', '5' => 'friday_status', '6' => 'startday_status', '7' => 'sunday_status', ]; $modelUser = User::find()->where(['is_health_advice' => User::ACTIVE, 'status' => User::ACTIVE])->all(); echo "cron step 3"; foreach ($modelUser as $key => $user) { $todayDateStatus = $dateIndex[date('w')]; $userReminder = UserReminder::find() ->where([ 'user_id' => $user['user_id'], 'user_reminder_status' => User::ACTIVE ]) ->andwhere(["$todayDateStatus" => User::ACTIVE]) ->one(); if($userReminder != null && $user['device_token']) { if(strlen($user['device_token']) == 36) { $userToken[] = $user['device_token']; } } } } if($userToken != []) { print_r($userToken); try { $oneSignal = OneSignal::getInstance(); $oneSignal->setAppId(Configuration::get(Configuration::PUSH_NOTIFICATION_APP_ID)); $oneSignal->setRestApiKey(Configuration::get(Configuration::PUSH_NOTIFICATION_REST_API_KEY)); $oneSignal->setIcon('http://online.kitokey.com/frontend/web/theme/images/notification.png'); $oneSignal->push( ['en' => 'Reminder'], ['en' => 'Hi, now it is your water drinking time.. let`s go for drinking'], $userToken, ['status' => 'Message Sent Successfully'] ); } catch(Exception $e) { echo $e->getMessage(); } echo "cron step 4"; } } public function actionSubscribe() { $text = "Cron Job Started"; SubscriptionLog::log($text . ' ' . date('Y-m-d H:i:s').PHP_EOL); $modelTodayCreateOrder = OrderSubscription::find() ->alias('OS') ->select(['OS.*']) ->leftJoin(['O' => Order::tableName()], 'O.order_id = OS.order_id') ->andFilterWhere([ 'or', [ 'and', ['=', 'O.payment_status', Order::PAYMENT_STATUS_SUCCESS], ['<>', 'O.payment_option', Order::PAYMENT_OPTION_COD] ], [ 'and', ['=','O.payment_option' ,Order::PAYMENT_OPTION_COD] ], [ 'and', ['=','O.payment_option' ,Order::PAYMENT_OPTION_WALLET] ] ]) ->andWhere(['<>', 'O.order_status', Order::ORDER_STATUS_IS_DELETE]) ->andWhere(['<=', 'OS.start_date', date('Y-m-d H:i:s') ]) ->andWhere(['>=', 'OS.end_date', date('Y-m-d H:i:s') ]) ->asArray() ->all(); foreach($modelTodayCreateOrder as $key => $todayOrder) { if($todayOrder['subscription_day_id'] != null) { $dayNumber = date('N'); if($todayOrder['subscription_day_id'] != $dayNumber) { continue; } } else { if(date('Y-m-d') != $todayOrder['delivery_date']) { continue; } } $orderId = $todayOrder['order_id']; $model = Order::find()->where(['order_id' => $orderId])->asArray()->one(); $newModelOrder = new Order(); unset($model['order_id']); unset($model['order_key']); $lastOrders = Order::find()->orderBy(['order_id' => SORT_DESC])->one(); $lastOrderID = isset($lastOrders->order_id) ? $lastOrders->order_id : 0; $totalOrders = $lastOrderID + 1; $orderNumber = str_repeat('0', max(0, 7 - strlen($totalOrders))) . $totalOrders; $newModelOrder->load($model, ''); $newModelOrder->order_subscription_id = $todayOrder['order_subscription_id']; $newModelOrder->order_date_time = date('Y-m-d H:i:s'); $newModelOrder->delivery_option = Order::DELIVERY_OPTION_LATER; $newModelOrder->pickup_delivery_date_time = date('Y-m-d').' 10:00:00'; $newModelOrder->order_total = number_format($model['order_total'], 2); // $newModelOrder->save(false); //z $newModelOrder->order_status = Order::ORDER_STATUS_ACCEPTED; $newModelOrder->save(false); $newModelOrder = Order::findOne(['order_key' => $newModelOrder->order_key]); $modelOrderItem = OrderItem::find()->where(['order_id' => $orderId])->asArray()->all(); foreach($modelOrderItem as $key => $orderItem) { $newOrderItem = new OrderItem(); $orderItemId = $orderItem['order_item_id']; unset($orderItem['order_item_id']); $newOrderItem->load($orderItem, ''); $newOrderItem->order_id = $newModelOrder->order_id; // $newOrderItem->order_item_id = ''; // print_r($modelOrderItem); die; $newOrderItem->save(false); $modelOrderItemLang = OrderItemLang::find()->where(['order_item_id' => $orderItemId])->asArray()->all(); foreach($modelOrderItemLang as $key => $OrderItemLang) { $newOrderItemLang = new OrderItemLang(); unset($OrderItemLang['order_item_lang_id']); $newOrderItemLang->load($OrderItemLang, ''); $newOrderItemLang->order_item_id = $newOrderItem->order_item_id; $newOrderItemLang->save(false); } } SubscriptionLog::log($todayOrder); echo "order Created Successfully"; } } public function actionPaymentResponse() { $orderModel = Order::find() ->where(['IN','payment_option',['2,4,5,6']]) ->andWhere(['payment_status' => 1]) ->andWhere(['DATE(order_date_time)' => date('Y-m-d')]) ->all(); if($orderModel != null) { foreach ($orderModel as $key => $orderModelvalue) { if($orderModelvalue->payment_id != "") { $order = Order::findOne(['order_key' => $orderModelvalue->order_key]); $entityId = ''; if($order->payment_option == Order::PAYMENT_OPTION_VISA_MASTER) { $entityId = Configuration::get(Configuration::MASTER_VISA_ENTITY_ID); } if($order->payment_option == Order::PAYMENT_OPTION_MADA) { $entityId = Configuration::get(Configuration::MADA_ENTITY_ID); } if($order->payment_option == Order::PAYMENT_OPTION_STC) { $entityId = Configuration::get(Configuration::STC_PAY_ENTITY_ID); } if($order->payment_option == 6) { $paymentType = 'APPLEPAY'; $entityId = '8ac9a4ca7c78e3f5017c8e865d7c0449'; } $url = "https://oppwa.com/v1/checkouts/".$orderModelvalue->payment_id."/payment"; $url .= "?entityId=".$entityId; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Authorization:Bearer '.Configuration::get(Configuration::PAYMENT_ACCESS_TOKEN))); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// this should be set to true in production curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $responseData = curl_exec($ch); if(curl_errno($ch)) { return curl_error($ch); } $result = json_decode($responseData); if($result->result->code == "000.000.000") { $order->payment_status = Order::PAYMENT_STATUS_SUCCESS; $order->order_date_time = date('Y-m-d H:i:s'); $order->cron_payment_response = json_encode($result); $order->save(false); } $order->cron_payment_response = json_encode($result); $order->save(false); } } } return true; } }