public function send(Request $request)
 {
     $order = Order::where('id', $request->orderid)->first();
     $product = $order->order_detail;
     $order->order_status = "Dikirim";
     $order->save();
 }
Esempio n. 2
0
 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';
     }
 }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
 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);
 }
Esempio n. 5
0
 protected function removeOrder($input)
 {
     $response = array();
     $payResponse = array();
     $menu_item_ids = array();
     $request_time = date('Y-m-d H:i:s');
     $customer_current_credit = 0;
     try {
         $dynamoClass = new DynamoDb();
         $dynamoClass->table(env('DYNAMO_TABLE_PREFIX') . '_customer');
         $orderHelper = new OrderHelper();
         $order_id = $input['order_id'];
         $valid_order = Order::where('id', $order_id)->where('order_status', 'Processing')->count();
         if (isset($order_id) && $order_id != '' && $valid_order > 0) {
             //getting the order information by  order id
             $order_data = $orderHelper->getOrderInfo($order_id);
             list($transaction_id, $order_number, $customer_id, $driver_id, $coupon_id, $market_office_id, $credit, $state_code, $customer_current_credit, $customer_new_credit, $total_amount, $foodjets_meal_plan_id) = $order_data['data'];
             if (count($order_data['data']) > 0 && $transaction_id != '') {
                 try {
                     $order_data = $order_data['order_data'];
                     if (isset($total_amount) && $total_amount > 0) {
                         File::requireOnce(base_path() . '/vendor/heartlandpayment/Hps.php');
                         $configHps = new Hps();
                         $config = new HpsServicesConfig();
                         $config->secretApiKey = $this->heartlandConfig['secretApiKey'];
                         $config->versionNumber = $this->heartlandConfig['versionNumber'];
                         // this is provided to you during the certification process
                         $config->developerId = $this->heartlandConfig['developerId'];
                         // this is provided to you during the certification process
                         $chargeService = new HpsCreditService($config);
                         try {
                             $paymentGatewayVoidResponse = $chargeService->void($transaction_id);
                             $formatter_void = Formatter::make($paymentGatewayVoidResponse, Formatter::XML);
                             $formattedVoidJsonResponse = $formatter_void->toJson();
                             $voidDetails = $formatter_void->toArray();
                             ##store payment response in payment gateway log table
                             $gateway_request = array('transaction_id' => $transaction_id);
                             $orderHelper->paymentLog($gateway_request, $customer_id, $order_id, 'cancel_order', $gateway_request, $voidDetails);
                             ##end
                             if (isset($voidDetails['transactionId'][0]) && $voidDetails['transactionId'][0] != '') {
                                 $data = array($driver_id, $foodjets_meal_plan_id, $order_number, $customer_id, $coupon_id, $credit, $customer_new_credit);
                                 $todays_driver_list_id = $orderHelper->changeOrderStatus($order_id, $data);
                                 $response['status'] = "1";
                                 $response['msg'] = 'Order cancelled successfully.';
                                 ##send cancel order mail
                                 $this->sendCancelOrderMail($order_id);
                                 ##end
                             } else {
                                 $paymentGatewayResponse = $chargeService->refund($total_amount, "usd", $transaction_id, NULL, $order_id);
                                 $formatter = Formatter::make($paymentGatewayResponse, Formatter::XML);
                                 $formattedResponse = $formatter->toJson();
                                 $transectionDetails = $formatter->toArray();
                                 ##store payment response in payment gateway log table
                                 $gateway_request = array('amount' => $total_amount, 'currency' => 'usd', 'cardData' => $transaction_id, 'order_id' => $order_id);
                                 $orderHelper->paymentLog($gateway_request, $customer_id, $order_id, 'cancel_order', $gateway_request, $transectionDetails);
                                 ##end
                                 if (isset($transectionDetails['transactionId'][0]) && $transectionDetails['transactionId'][0] != '') {
                                     $data = array($driver_id, $foodjets_meal_plan_id, $order_number, $customer_id, $coupon_id, $credit, $customer_new_credit);
                                     $todays_driver_list_id = $orderHelper->changeOrderStatus($order_id, $data);
                                     $response['status'] = "1";
                                     $response['msg'] = 'Order cancelled successfully.';
                                     ##send cancel order mail
                                     $this->sendCancelOrderMail($order_id);
                                     ##end
                                 } else {
                                     $response['status'] = "0";
                                     $response['msg'] = 'Transaction not approved.';
                                 }
                             }
                             // else end
                         } catch (\Exception $e) {
                             Log::error($e);
                             $response['status'] = "0";
                             $msg = (array) $e->getMessage();
                             $response['msg'] = $msg[0];
                         }
                     } else {
                         $response['status'] = "0";
                         $response['msg'] = 'Not a valid amount.';
                     }
                 } catch (\Exception $e) {
                     Log::error($e);
                     $response['status'] = "0";
                     $msg = (array) $e->getMessage();
                     $response['msg'] = $msg[0];
                 }
             } else {
                 list($transaction_id, $order_number, $customer_id, $driver_id, $coupon_id, $market_office_id, $credit, $state_code, $customer_current_credit, $customer_new_credit, $total_amount, $foodjets_meal_plan_id) = $order_data['data'];
                 $order_data = $order_data['order_data'];
                 $data = array($driver_id, $foodjets_meal_plan_id, $order_number, $customer_id, $coupon_id, $credit, $customer_new_credit);
                 $todays_driver_list_id = $orderHelper->changeOrderStatus($order_id, $data);
                 $response['status'] = "1";
                 $response['msg'] = 'Order cancelled successfully.';
                 ##send cancel order mail
                 $this->sendCancelOrderMail($order_id);
                 ##end
             }
             ########################## Remove order from redis starts ###############################
             if ($order_id && isset($order_data->market_office_city_delivery_zone_id)) {
                 $redis = new ApiRedis();
                 $db = $this->redisDb;
                 $redis->cancelOrderFromRedis($order_id, $order_data->market_office_city_delivery_zone_id, $db);
             }
             ##########################  Remove order from redis ends  ###############################
         } else {
             $response['status'] = "0";
             $response['msg'] = "Invalid order id or already cancelled or Order not in processing mode.";
         }
         $orderHelper->apiLog($order_id, $request_time, $response);
     } catch (\Exception $e) {
         Log::error($e);
         $response['status'] = "0";
         $msg = (array) $e->getMessage();
         $response['msg'] = $msg[0];
     }
     return $response;
 }
Esempio n. 6
0
 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;
     }
 }
Esempio n. 7
0
<?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"> -->
Esempio n. 8
0
 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);
 }
Esempio n. 9
0
 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'];
 }
Esempio n. 10
0
 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');
             }
         }
     }
 }
Esempio n. 11
0
 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();
 }
Esempio n. 12
0
            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