public function check_paid(Request $request) { $paid = $request->paid; $invoice = $request->invoice; $order = Order::where('no_invoice', $invoice)->first(); if ($paid < $order->total_price) { return 'failed'; } }
public function changeOrderStatus($order_id, $data) { $menu_item_ids = array(); list($driver_id, $foodjets_meal_plan_id, $order_number, $customer_id, $coupon_id, $credit, $customer_new_credit) = $data; $isChanged = Order::where('id', '=', $order_id)->update(array('order_status' => 'Canceling', 'payment_status' => 'Refunded')); if ($isChanged) { $menu_items = OrderDetails::select('menu_item_id')->where('order_id', '=', $order_id)->get(); if (!empty($menu_items)) { foreach ($menu_items as $each) { array_push($menu_item_ids, $each->menu_item_id); } } ##reseting item quantity in order details table $todays_driver_list_id = $this->resetDriverItemQuantity($driver_id, $foodjets_meal_plan_id, $menu_item_ids, $order_id); ##end ##return credit or reset coupon used $this->returnCredit($order_number, $customer_id, $coupon_id, $credit, $customer_new_credit); ##end } return $todays_driver_list_id; }
public function createDummyOrders() { $this->syncDeliveryZones(3); exit; //static data $input = array("meal_plan_id" => 254, "zone_id" => 1, "state_code" => "CA"); echo "<pre>"; //input data randomized $recipient = array("lr3nRmFE50bWm0dGdPH8rfeZ", "64r7AdG6q7oLmhvsVXGBIhZN", "K4M1OGiMkopR~fBSdiDKjJ6*"); $rand = rand(0, 2); $input['recipient_id'] = $recipient[$rand]; $db_exists = $this::setCurrentDatabase($input['state_code']); $OrderHelper = new OrderHelper(); $market_office_id = $OrderHelper->getMarketOfficeCity($input['zone_id']); $mrkt_ofc_data = $OrderHelper->getMarketOfficeData($market_office_id); $customer = Customer::orderBy(DB::raw("RAND()"))->first(); $food = $OrderHelper->getMenuItems($input['meal_plan_id']); $gross_amount = 0; //to be added to database $order = array(); $order['state_code'] = $input['state_code']; $order['market_office_id'] = $market_office_id; $order['market_office_name'] = $mrkt_ofc_data['office_name']; $order['market_office_city_id'] = MarketOfficeCityDeliveryZones::where('id', '=', $input['zone_id'])->pluck('market_office_city_id'); $order['market_office_city_name'] = MarketOfficeCity::where('id', '=', $order['market_office_city_id'])->pluck('city_name'); $order['market_office_city_delivery_zone_id'] = $input['zone_id']; $order['market_office_city_delivery_zone_name'] = MarketOfficeCityDeliveryZones::where('id', '=', $input['zone_id'])->pluck('delivery_zone_name'); $order['customer_id'] = $customer->id; $order['customer_delivery_address'] = $customer->address; $order['meal_plan_id'] = $input['meal_plan_id']; $order['meal_plan_name'] = $OrderHelper->getCurrentMealCategory($input['meal_plan_id']); $order['tax_percentage'] = $mrkt_ofc_data['tax_percentage']; $order['tax_amount'] = 0; $order['gross_amount'] = 0; $order['coupon_id'] = 0; $order['coupon_code'] = NULL; $order['coupon_amount'] = "0.00"; $order['credit'] = "0.00"; $order['tips_percentage'] = "0"; $order['tips_amount'] = "0.00"; $order['total_amount'] = $gross_amount + $order['tax_amount']; $order['note'] = ""; $order['phone'] = $customer->phone; $order['order_status'] = "Processing"; $order['created_at'] = date('Y-m-d H:i:s'); $lastOrderId = Order::insertGetId($order); echo $lastOrderId . "\n"; $orderDetails = $OrderHelper->insertOrderDetails($food, $lastOrderId); print_r($orderDetails); $menu_food = array(); foreach ($orderDetails as $val) { $obj['food_id'] = $val['menu_item_id']; $obj['food_qty'] = $val['quantity']; $menu_food[] = (object) $obj; $gross_amount += $val['amount']; } $hash = sha1($lastOrderId . uniqid(mt_rand())); $order_number = sha1($lastOrderId . uniqid(mt_rand())); $transactionId = 0; $card_number = "NDI0Mg=="; $cardType = "Visa"; $order_number = $input['state_code'] . '00' . $lastOrderId; $tax_amount = round($gross_amount * ($order['tax_percentage'] / 100), 2); $total_amount = $gross_amount + $tax_amount; Order::where('id', '=', $lastOrderId)->update(array('transaction_id' => $transactionId, 'card_number' => $card_number, 'card_type' => $cardType, 'hash' => $hash, 'order_number' => $order_number, 'payment_status' => 'Charged', 'gross_amount' => $gross_amount, 'tax_amount' => $tax_amount, 'total_amount' => $total_amount)); $order['order_id'] = $lastOrderId; $order['food'] = $menu_food; $order['recipient_id'] = $input['recipient_id']; #$ApiRedis = new ApiRedis(); $b = $this->syncDeliveryZones(1); $c = $this->pushOrderIntoQueue($lastOrderId, 0); $d = $this->pushOrderIntoHash($lastOrderId, $order); var_dump($b); var_dump($c); var_dump($d); print_r($order); echo $order_number . "\n" . $transactionId . "\n" . $hash . "\n" . $card_number . "\n" . $cardType . "\n" . $gross_amount . "\n" . $tax_amount; // $ApiRedis->pushOrderIntoQueue($order); }
protected function sendCancelOrderMail($order_id = NULL) { if ($order_id) { $order_info = array(); $order_data = Order::select('order_number', 'customer_id')->where('id', '=', $order_id)->first(); if ($order_data->order_number) { $order_info['order_number'] = $order_data->order_number; $order_info['customer_record'] = Customer::select('full_name', 'email', DB::raw('CONCAT(country_code,phone) AS phone'))->where('id', '=', $order_data->customer_id)->first(); Mail::send('emails.cancel_order', array('name' => $order_info['customer_record']['full_name'], 'order_number' => $order_info['order_number']), function ($message) use($order_info) { $message->from('*****@*****.**', 'Foodjets'); $message->to($order_info['customer_record']['email'], $order_info['customer_record']['full_name'])->subject('Cancel Order'); }); } } }
public function tempajax(Request $request) { $response = new stdClass(); if ($request->isMethod('post')) { $postData = $request->all(); $objUserModel = new User(); $objOrderModel = new Order(); $userId = isset($postData['user_id']) ? $postData['user_id'] : ''; $authFlag = false; if (isset($postData['api_token'])) { $apiToken = $postData['api_token']; if ($apiToken == $this->API_TOKEN) { $authFlag = true; } else { if ($userId != '') { $where = ['rawQuery' => 'id=?', 'bindParams' => [$userId]]; $selectColumn = array('login_token'); $userCredentials = $objUserModel->getUsercredsWhere($where, $selectColumn); if ($apiToken == $userCredentials->login_token) { $authFlag = true; } } } } if ($authFlag) { $validator = Validator::make($postData, ['user_id' => 'required']); if (!$validator->fails()) { $requestParam = json_decode($postData['requestData'], true); $iTotalRecords = $iDisplayLength = intval($requestParam['length']); $iDisplayLength = $iDisplayLength < 0 ? $iTotalRecords : $iDisplayLength; $iDisplayStart = intval($requestParam['start']); $sEcho = intval($requestParam['draw']); $whereOderUserID = ['rawQuery' => 'by_user_id=? and orders.status!=6', 'bindParams' => [$userId]]; $data = ['orders.order_id', 'orders.server_order_id', 'orders.ins_url', 'orders.quantity_total', 'orders.price', 'orders.quantity_done', 'orders.status', 'orders.added_time', 'orders.updated_time', 'plans.plan_name', 'plans.supplier_server_id']; //GET TOTAL NUMBER OF NEW ORDERS $iTotalRecords = count($objOrderModel->getOrderHistory($whereOderUserID, $data)); $iTotalFilteredRecords = $iTotalRecords; $records = array(); $records["data"] = array(); $columns = array('orders.order_id', 'plans.plan_name', 'orders.ins_url', 'orders.quantity_total', 'orders.price', 'orders.added_time', 'orders.updated_time', 'orders.status'); $sortingOrder = ""; if (isset($requestParam['order'])) { $sortingOrder = [$columns[$requestParam['order'][0]['column'] - 1], $requestParam['order'][0]['dir']]; } //FIRLTERING START FROM HERE $filteringRules = ''; if (isset($requestParam['action']) && $requestParam['action'] == 'filter' && $requestParam['action'][0] != 'filter_cancel') { if ($requestParam['search_order_id'] != '') { $filteringRules[] = "( orders.order_id LIKE '%" . $requestParam['search_order_id'] . "%' )"; } if ($requestParam['search_service_type'] != '') { $filteringRules[] = "( plans.plan_name LIKE '%" . $requestParam['search_service_type'] . "%' )"; } if ($requestParam['search_link'] != '') { $filteringRules[] = "( orders.ins_url LIKE '%" . $requestParam['search_link'] . "%' )"; } if ($requestParam['search_amount'] != '') { $filteringRules[] = "( orders.quantity_total LIKE '%" . $requestParam['search_amount'] . "%' )"; } if ($requestParam['search_price'] != '') { $filteringRules[] = "( orders.price LIKE '%" . $requestParam['search_price'] . "%' )"; } if ($requestParam['search_status'] != '') { $filteringRules[] = "( orders.status LIKE '%" . $requestParam['search_status'] . "%' )"; } if (!empty($filteringRules)) { $whereOderUserID['rawQuery'] .= " AND " . implode(" AND ", $filteringRules); $iTotalFilteredRecords = count($objOrderModel->getOrderHistory($whereOderUserID, $data)); } } $ordersResult = $objOrderModel->getAllOrders($whereOderUserID, $sortingOrder, $iDisplayStart, $iDisplayLength); $records['data'] = $ordersResult; $records["draw"] = $sEcho; $records["recordsTotal"] = $iTotalRecords; $records["recordsFiltered"] = $iTotalFilteredRecords; if ($ordersResult) { foreach ($ordersResult as $order) { $order->added_time = $this->getDateDifference($order->added_time); $order->updated_time = $this->getDateDifference($order->updated_time); } $response->code = 200; $response->message = "Success"; $response->data = $records; echo json_encode($response, true); } else { $response->code = 401; $response->message = "Error in connection please try again."; $response->data = null; echo json_encode($response, true); } } else { $response->code = 401; $response->message = $validator->messages(); $response->data = null; echo json_encode($response, true); } } else { $response->code = 401; $response->message = "Access Denied"; $response->data = null; echo json_encode($response, true); } } else { $response->code = 400; $response->message = "Request not allowed"; $response->data = null; echo json_encode($response, true); } }
public function getAssignedOrders() { $input = Input::all(); $response = array(); try { $response['status'] = "1"; $response['msg'] = "Success"; $ApiRedis = new ApiRedis(); $db = $this->redisDb; $orderProcessed = $ApiRedis->getOrderSpliceQueue($input['zone_id'], $db); $orderIds = array(); $orders = array(); foreach ($orderProcessed['assigned'] as $k => $v) { if ($k > 0) { $orderHash = $ApiRedis->getOrderFromHash($k, $db); if (empty($orderHash['address'])) { $orderHash['address'] = ""; } $order[$k] = $orderHash; $orderIds[] = $k; } } if (count($orderIds) > 0) { $orderData = Order::select("order.id", "order.order_number", "order.market_office_city_delivery_zone_id", "customer.full_name", "driver.first_name", "driver.last_name", "order.customer_delivery_address", DB::raw("driver.id AS driver_id"))->join("customer", "customer.id", "=", "order.customer_id")->leftJoin('driver', 'driver.id', '=', 'order.driver_id')->whereIn("order.id", $orderIds)->get(); foreach ($orderData as $value) { $order[$value["id"]]["id"] = $value["id"]; $order[$value["id"]]["order_number"] = $value["order_number"] != "" ? $value["order_number"] : " "; $order[$value["id"]]["customer_name"] = $value["full_name"] != "" ? $value["full_name"] : " "; if ($value['last_name'] != null || $value['first_name'] != null) { $order[$value["id"]]["driver_name"] = $value["first_name"] . " " . $value["last_name"]; } else { $order[$value["id"]]["driver_name"] = ""; } $order[$value["id"]]["show_driver"] = true; if ($order[$value["id"]]["address"] == "") { $order[$value["id"]]["address"] = $value['customer_delivery_address'] != "" ? $value['customer_delivery_address'] : " "; } } } $response['orders'] = $order; } catch (Exception $e) { Log::error($e); $response['status'] = '0'; $msg = (array) $e->getMessage(); $response['msg'] = $msg[0]; } return Response::json($response); }
public function updateDB($od = null, $driver = null, $data = null) { if (!$od || !$driver || !$data) { return false; } $items = $this->_menuItems($od['items']); $cond = $this->_whenCond($od['items']); DB::beginTransaction(); try { $quantity = "CASE \n\t\t {$cond}\n\t\t END"; //updating the driver inventory quantity DB::connection('mycurrentstatedb')->table('todays_drivers_inventory as tdi')->join(DB::raw('todays_drivers_list as tdl'), 'tdl.id', '=', 'tdi.todays_drivers_list_id')->where('tdl.market_office_city_delivery_zone_id', $od['market_office_city_delivery_zone_id'])->where('tdl.drivers_id', $driver['id'])->where('tdi.foodjets_meal_plan_id', $od['meal_plan_id'])->whereIn('tdi.foodjets_menu_item_id', $items)->update(['tdi.quantity' => DB::raw($quantity)]); /*"UPDATE foodjets_state_ca_dev.todays_drivers_inventory as tdi INNER JOIN foodjets_state_ca_dev.todays_drivers_list as tdl ON (tdl.id = tdi.todays_drivers_list_id) SET quantity = CASE {$cond} END WHERE tdl.market_office_city_delivery_zone_id = {$od['market_office_city_delivery_zone_id']} AND tdl.drivers_id = {$driver->id} AND tdi.foodjets_meal_plan_id = {$od['meal_plan_id']} AND tdi.foodjets_menu_item_id IN ({$items})"*/ //updating the order Order::where('id', $od['id'])->update(['driver_id' => $driver['id'], 'onfleet_task_id' => $data->id]); DB::commit(); return true; } catch (Exception $e) { DB::rollback(); Log::error($e); return false; } }
public function list_order() { $orders = Datatables::of(Order::orderBy('order_date', 'DESC'))->make(true); return $orders; }
<?php use App\Http\Models\Ask; use App\Http\Models\Order; $data['mailCount'] = Ask::where('status', 0)->count(); $data['mail'] = Ask::where('status', 0)->orderBy('id', 'DESC')->get(); $data['paymentCount'] = Order::where('order_status', 'Telah Dibayar')->count(); $data['readyCount'] = Order::where('no_resi', '')->where('order_status', 'Lunas')->count(); $data['notifCount'] = $data['paymentCount'] + $data['readyCount']; $now = Date("Y-m-d H:i:s"); $now = new DateTime($now); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="csrf-token" content="{!! csrf_token() !!}"/> <title>{!! $data['title'] !!}</title> <!-- Tell the browser to be responsive to screen width --> <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"> <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> <?php // ============ CSS ============ ?> <!-- Ionicons --> <!-- <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> -->
public function update_order(Request $request) { $this->data['order'] = Order::where('user_id', $request->user_id)->orderBy('created_at', 'desc')->get(); return view('user/update_order')->with('data', $this->data); }
public function cancelOrderFromRedis($order_id, $zone_id, $db) { # Check order status [if in orderQeue or orderProcessing] # if (it in order queue) # set order hash value 9 # if in processing Queue # remove data from processing # remove data from hash $this->redis->db($db); $order = $this->redis->hExists('orderQueue:' . $zone_id, $order_id); if ($order) { $testdata = $this->redis->hSet('orderQueue:' . $zone_id, $order_id, 9); # Remove from orderProcessing # $this->redis->hDel('orderProcessing:' . $zone_id, $order_id); # Remove from orderDetails # $this->redis->delete('orderDetails:' . $order_id); ##deleting task fron onfleet $order_data = Order::select('onfleet_task_id', 'onfleet_task_started')->where('id', '=', $order_id)->first(); if (isset($order_data) && $order_data->onfleet_task_id != '') { $onfleet = new OnFleet(); if ($order_data->onfleet_task_started != NULL) { $onfleet->completeTask(array('id' => $order_data->onfleet_task_id, 'completionDetails' => array('success' => false, 'notes' => 'Task cancelled by customer.'))); } else { $onfleet->deleteTask(array('id' => $order_data->onfleet_task_id)); } } } }
public function order_month(Request $request) { $this->data['orders'] = Datatables::of(Order::where('order_date', 'LIKE', '%-' . str_pad($request->month, 2, "0", STR_PAD_LEFT) . '-%'))->make(true); return $this->data['orders']; }
protected function getOrderInfo($orderIds, $order) { $orderData = Order::select("order.id", "order.order_number", "order.market_office_city_delivery_zone_id", "customer.full_name", "driver.first_name", "driver.last_name", "order.customer_delivery_address", DB::raw("driver.id AS driver_id"))->join("customer", "customer.id", "=", "order.customer_id")->leftJoin('driver', 'driver.id', '=', 'order.driver_id')->whereIn("order.id", $orderIds)->get(); foreach ($orderData as $value) { $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["id"] = $value["id"]; $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["order_number"] = $value["order_number"] != "" ? $value["order_number"] : " "; $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["customer_name"] = $value["full_name"] != "" ? $value["full_name"] : " "; if (empty($order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["driver_name"])) { $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["driver_name"] = " "; } if ($order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["address"] == "") { $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["address"] = $value['customer_delivery_address']; } if (empty($order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["driver_id"])) { $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["driver_id"] = ""; } $time = time(); //checking the color it should show based on the order current status $order_status = $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]['order_status']; $color = "green"; if ($order_status == "Unassigned") { $color = "yellow"; } if ($order_status == "Processing Unassigned") { $color = "yellow"; } if ($order_status == "Cancelling") { $color = "red"; } $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]['status_color'] = $color; //getting the order complete timing status if (isset($order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]['expected_time'])) { $expected_time = $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]['expected_time']; $time_diff = $expected_time - $time; $time_diff = $time_diff < 0 ? 0 : $time_diff; $diff = round(abs($time_diff) / 60, 0); if ($diff <= 0 && ($order_status == "Unassigned" || $order_status == "Processing Unassigned")) { $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["color"] = array("none" => false, "within_five" => false, "late" => true); } else { if ($diff <= 5 && ($order_status == "Unassigned" || $order_status == "Processing Unassigned")) { $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["color"] = array("none" => false, "within_five" => true, "late" => false); } else { $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["color"] = array("none" => true, "within_five" => false, "late" => false); } } } else { $order[$value["market_office_city_delivery_zone_id"]]['data'][$value["id"]]["color"] = array("none" => true, "within_five" => false, "late" => false); } } return $order; }
public function delete($id) { $product = Product::find($id); $category = Category::where('id', $product->category_id)->first(); $inOrder = OrderDetail::where('product_id', $id)->where('review', null)->get(); $reviews = Reviews::where('product_id', $id)->get(); $subcategory = Subcategory::where('id', $product->subcategory_id)->first(); if (!$product) { return redirect('master/produk/list')->with('error', 'Data tidak ada'); } else { $image = unserialize($product->image); $path = base_path() . '/storage/photo_product/'; if (count($inOrder) > 0) { $product->status = 'unactive'; if ($product->save()) { return redirect('master/produk/list')->with('success', 'Produk tidak bisa di hapus karena masih dalam order, produk sementara di non aktifkan'); } else { return redirect('master/produk/list')->with('error', '404'); } } elseif (count($inOrder) == 0) { if ($product->delete()) { foreach ($reviews as $review) { $reviews->delete(); } foreach ($inOrder as $order_product) { foreach ($order_product as $orders) { $PaymentConfirmation = PaymentConfirmation::where('order_id', $orders->id)->first(); $PaymentConfirmation->delete(); } $orders = Order::where('id', $order_product->order_id)->get(); $orders->delete(); } $total_product = $category->total_product - 1; $category->total_product = $total_product; $category->save(); $total_subcategory = $subcategory->total_product - 1; $subcategory->total_product = $total_subcategory; $subcategory->save(); if (!$image == NULL) { foreach ($image as $image) { File::delete($path . $image); } } return redirect('master/produk/list')->with('success', 'Produk ' . $product->name . ' Berhasil Dihapus'); } else { return redirect('master/produk/list')->with('error', '404'); } } } }
public function add_review(Request $request) { $order = Order::where('id', $request->order_id)->first(); $order->order_status = 'Diterima'; $order->save(); $orderdetail = OrderDetail::where('order_id', $request->order_id)->where('product_id', $request->product_id)->get(); foreach ($orderdetail as $value) { $value->review = 'reviewed'; $value->save(); } $product = Product::where('id', $request->product_id)->first(); $product->rating += $request->rating; $product->save(); $review = new Reviews(); $review->user_id = Sentinel::getUser()->id; $review->product_id = $product->id; $review->rating = $request->rating; $review->review = $request->review; $review->status = 'publish'; $review->save(); }
yAxis: { title: { text: 'Order' }, plotLines: [{ value: 0, width: 1, color: '#808080' }] }, legend: { layout: 'vertical', align: 'right', verticalAlign: 'middle', borderWidth: 0 }, series: [{ name: 'Order', data: [ <?php for ($i = 1; $i <= 12; $i++) { $count = Order::where('order_date', 'LIKE', '%-' . str_pad($i, 2, "0", STR_PAD_LEFT) . '-%')->count(); print_r($count . ","); } ?> ] }] }); }); </script> @stop