ok
Direktori : /home2/selectio/public_html/limpiar.in.net/app/Services/ |
Current File : //home2/selectio/public_html/limpiar.in.net/app/Services/OrderService.php |
<?php namespace App\Services; use Illuminate\Http\Request; use App\Models\Order; use App\Models\ProductStock; use App\Models\SmsTemplate; use App\Models\User; use App\Utility\NotificationUtility; use App\Utility\SmsUtility; class OrderService{ public function handle_delivery_status(Request $request) { $order = Order::findOrFail($request->order_id); $order->delivery_viewed = '0'; $order->delivery_status = $request->status; $order->save(); if ($request->status == 'cancelled' && $order->payment_type == 'wallet') { $user = User::where('id', $order->user_id)->first(); $user->balance += $order->grand_total; $user->save(); } foreach ($order->orderDetails as $key => $orderDetail) { $orderDetail->delivery_status = $request->status; $orderDetail->save(); if ($request->status == 'cancelled') { product_restock($orderDetail); } if (addon_is_activated('affiliate_system') && auth()->user()->user_type == 'admin') { if (($request->status == 'delivered' || $request->status == 'cancelled') && $orderDetail->product_referral_code ) { $no_of_delivered = 0; $no_of_canceled = 0; if ($request->status == 'delivered') { $no_of_delivered = $orderDetail->quantity; } if ($request->status == 'cancelled') { $no_of_canceled = $orderDetail->quantity; } $referred_by_user = User::where('referral_code', $orderDetail->product_referral_code)->first(); $affiliateController = new AffiliateController; $affiliateController->processAffiliateStats($referred_by_user->id, 0, 0, $no_of_delivered, $no_of_canceled); } } } if (addon_is_activated('otp_system') && SmsTemplate::where('identifier', 'delivery_status_change')->first()->status == 1) { try { SmsUtility::delivery_status_change(json_decode($order->shipping_address)->phone, $order); } catch (\Exception $e) { } } //sends Notifications to user NotificationUtility::sendNotification($order, $request->status); if (get_setting('google_firebase') == 1 && $order->user->device_token != null) { $request->device_token = $order->user->device_token; $request->title = "Order updated !"; $status = str_replace("_", "", $order->delivery_status); $request->text = " Your order {$order->code} has been {$status}"; $request->type = "order"; $request->id = $order->id; $request->user_id = $order->user->id; NotificationUtility::sendFirebaseNotification($request); } if (addon_is_activated('delivery_boy')) { if (auth()->user()->user_type == 'delivery_boy') { $deliveryBoyController = new DeliveryBoyController; $deliveryBoyController->store_delivery_history($order); } } } public function handle_payment_status(Request $request) { $order = Order::findOrFail($request->order_id); $order->payment_status_viewed = '0'; $order->save(); if (auth()->user()->user_type == 'seller') { foreach ($order->orderDetails->where('seller_id', auth()->user()->id) as $key => $orderDetail) { $orderDetail->payment_status = $request->status; $orderDetail->save(); } } else { foreach ($order->orderDetails as $key => $orderDetail) { $orderDetail->payment_status = $request->status; $orderDetail->save(); } } $status = 'paid'; foreach ($order->orderDetails as $key => $orderDetail) { if ($orderDetail->payment_status != 'paid') { $status = 'unpaid'; } } $order->payment_status = $status; $order->save(); if ($order->payment_status == 'paid' && $order->commission_calculated == 0) { calculateCommissionAffilationClubPoint($order); } //sends Notifications to user NotificationUtility::sendNotification($order, $request->status); if (get_setting('google_firebase') == 1 && $order->user->device_token != null) { $request->device_token = $order->user->device_token; $request->title = "Order updated !"; $status = str_replace("_", "", $order->payment_status); $request->text = " Your order {$order->code} has been {$status}"; $request->type = "order"; $request->id = $order->id; $request->user_id = $order->user->id; NotificationUtility::sendFirebaseNotification($request); } if (addon_is_activated('otp_system') && SmsTemplate::where('identifier', 'payment_status_change')->first()->status == 1) { try { SmsUtility::payment_status_change(json_decode($order->shipping_address)->phone, $order); } catch (\Exception $e) { } } return 1; } }