Пример #1
0
 public function run()
 {
     DB::table('orders')->delete();
     Order::create(array('id' => '1', 'user_id' => '1', 'total' => '4000', 'comment' => 'Позвоните мне.', 'delivery_price' => '1200', 'weight' => '40', 'distance' => '168', 'volume' => '50'));
     Order::create(array('id' => '2', 'user_id' => '1', 'total' => '7200', 'comment' => 'Есть в наличие?', 'delivery_price' => '1200', 'weight' => '80', 'distance' => '568', 'volume' => '50'));
     Order::create(array('id' => '3', 'user_id' => '1', 'total' => '1000', 'comment' => 'Когда отправите?', 'delivery_price' => '1200', 'distance' => '269', 'weight' => '50', 'volume' => '50'));
 }
Пример #2
0
 protected function storeNewOrder(array $data)
 {
     $id = Auth::user()->id_user;
     $data['advPay'] = isset($data['advPay']) ? 1 : 0;
     Log::info('User: '******' submitted new order, destination: ' . $data['orderDestination'] . ', departure: ' . $data['dateFrom'] . ', arrival: ' . $data['dateFrom'] . 'advPay: ' . $data['advPay']);
     // LOG
     $order = Order::create(['destination' => $data['orderDestination'], 'date_departure' => $data['dateFrom'], 'date_arrival' => $data['dateTo'], 'adv_pay' => $data['advPay'], 'user_id_user' => $id]);
 }
Пример #3
0
 /**
  * Create an order with products
  *
  * @param $kiosk_id
  * @param $participant_id
  * @param $products
  * @return static
  */
 public function create($kiosk_id, $participant_id, $products)
 {
     $order = Order::create(['kiosk_id' => $kiosk_id, 'finished' => null, 'participant_id' => $participant_id]);
     foreach ($products as $product) {
         //check if subproduct is added
         if (isset($product->sub)) {
             $sub = $product->sub;
         } else {
             $sub = null;
         }
         $order->products()->attach($product->id, ["price" => $product->price, "amount" => $product->amount, "product_id_sub" => $sub]);
     }
     return $order;
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     unset($request['_token']);
     $cartNotes = CartNote::GetCartList();
     var_dump($cartNotes);
     $Order = Order::create(['price_full' => 0, 'description' => json_encode($request->all())]);
     $sum = 0;
     foreach ($cartNotes as $key => $value) {
         $sum += $value->price * $value->count;
         $orderNote = OrderNote::create(['order_id' => $Order->id, 'product_id' => $value->prodid, 'price' => $value->price, 'count' => $value->count]);
         $orderNote->save();
         // ??
     }
     $Order->price_full = $sum;
     $Order->save();
     Session::flash('flash_message', 'Order added!');
     return redirect('/backoffice/orders');
 }
 public function save_order_list(Request $request, Order $order)
 {
     $data = $request->all();
     $order_id = $data[0]['order_id'];
     $status = true;
     foreach ($data as $val) {
         $val['available'] = $val['available'] ? 1 : 0;
         if (!$val['order_id']) {
             $val['order_id'] = $order_id;
             $status = $status && Order::create($val);
         } else {
             $update_data['price'] = $val['price'];
             $update_data['description'] = $val['description'];
             $update_data['available'] = $val['available'];
             $status = $status && $order->update_order_by_id($val['id'], $update_data);
         }
     }
     return response()->json(['status' => $status]);
 }
Пример #6
0
 /**
  * static function to read the xls and store
  *
  * @param  int  $id
  * @return Response*/
 public static function orderimport_xls($pathname, $camp_id, $campid, $description, $object_id)
 {
     $camp = Camp::findOrFail($camp_id);
     Excel::load($pathname, function ($reader) use($camp) {
         $results = $reader->get();
         foreach ($results as $result) {
             $save['order_id'] = $result->order_id;
             $save['warehouse'] = $result->warehouse;
             $save['ship_date'] = date('Y-m-d H:i:s', strtotime($result->ship_date));
             $save[$status] = $result->status;
             $save['order_amount'] = $result->order_amount;
             $save['actual_time_to_deliver'] = $result->actual_time_to_deliver;
             $save['payment_method'] = $result->payment_method;
             $save['associate'] = $result->associate;
             $save['address_type'] = $result->address_type;
             $save['address'] = $result->customer_name . ',' . $result->status . ',' . $result->city . ',' . $result->district . ',' . $result->province . ',' . $result->customer_phone;
             $save[$campid] = $camp->id;
             Order::create($save);
             Session::flash('success', Lang::get('ruban.camp.updated'));
             unset($save);
         }
         $timeline[$description] = Auth::user()->first_name . ' ' . Auth::user()->last_name . ' has imported the daily camp xls for <a href="javascript:;">' . $camp->title . '</a>';
         $timeline[$object_type] = 5;
         $timeline[$object_id] = $camp->id;
         Timeline::create($timeline);
     });
 }
 public function run()
 {
     DB::table('orders')->delete();
     for ($i = 0; $i < $this->num_records; $i++) {
         $array = ['user_id' => $this->getRandRec()];
         Order::create($array);
     }
 }
Пример #8
0
  public function getRebuy (Request $request) 
  {

    if (Session::get('rebuy_code') == $request->input('order_code')) {

      $mb = $request->input('mb');

      if (empty($mb)) {
    
        return redirect('/order/pay?order=' . Session::get('order_code'));

      } else {
      
        return redirect('/order/pay?order=' . Session::get('order_code') . '&mb=true');
      
      }
    
    } else {

      Session::put('rebuy_code', $request->input('order_code'));
    
    }

    $order_code = $request->input('order_code'); 

    if (empty($order_code)) {
    
      //todo
    
    }

    $user = Auth::user();

    $orderInfo = OrderAllInfo::where('order_code', '=', $order_code)

      ->where('uid', '=', $user->id)
      
      ->first();

    if (empty($orderInfo->oid)) {
    
      //todo

    }

    $newOrder = [
    
      'code' => $this->generateOrderCode($user->id),

      'uid' => $user->id,

      'rid' => $orderInfo->rid,

      'cid' => $orderInfo->cid,

      'gid' => $orderInfo->gid,

      'num' => $orderInfo->num,

      'sum' => $orderInfo->orig_price,

      'comment' => $orderInfo->comment,

      'status' => 0,

      'active' => 1
    
    ];

    $order = Order::create($newOrder);

    Session::put('order_code', $order->code);

    $orderPrices = [
    
      'oid' => $order->id,

      'orig_price' => $order->sum,

      'cut_fee' => 0,

      'extra_fee' => 0,

      'final_price' => $orderInfo->orig_price,

      'active' => 1
    
    ];

    $op = OrderPrice::create($orderPrices);

    $good = Good::where('id', '=', $order->gid)->first();

    $receiver = ReceiverInfo::where('id', '=', $order->rid)->first();

    $pay_token = md5($order->id . time());

    $banks = Bank::all();

    $bouns = Boun::where('uid', '=', $user->id)
      
      ->where('active', '=', 1)

      ->where('type', '=', 1)
      
      ->get();

    $data = [

      'rebuy' => true,

      'bouns' => $bouns,
    
      'order' => $order,

      'orderPrice' => $op,

      'good' => $good,

      'receiver' => $receiver,

      'pay_token' => $pay_token,

      'banks' => $banks,

      'is_pay' => true,

      'wTitle' => '订单支付'
    
    ];

    $mb = $request->input('mb');

    if (!empty($mb)) {
    
      return view('mobile/minipay', $data);

    } else {
    
      return view('orders/pay', $data);
    
    }
  
  }
Пример #9
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     Order::create(['user_id' => '', 'email' => $this->formData['email'], 'name' => $this->formData['name'], 'phone' => $this->formData['phone'], 'flight_nr' => '', 'coming_from' => '', 'resident_phone' => '', 'from' => $this->formData['from'], 'from_nr' => $this->formData['from_nr'], 'to' => $this->formData['to'], 'to_nr' => $this->formData['to_nr'], 'to_street' => '', 'up_date_time' => $this->formData['up_date_time'], 'nr_passegers' => '', 'nr_luggages' => '', 'nr_hand_luggages' => '', 'details' => $this->formData['details'], 'meet_and_greet' => @$this->formData['meet_and_greet'], 'return_50' => @$this->formData['return_50'], 'pay_cash' => $this->formData['pay_cash'], 'request' => 0]);
     $mailler = new Mailer();
     $mailler->sendTo(config('owner.email'), 'New customer', 'emails.client.confirmare', ['body' => view('emails.client.email-content')->with(['data' => $this->formData])->render(), 'client' => null]);
 }
Пример #10
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Model::unguard();
     $now = date('Y-m-d H:i:s');
     // Test Oauth session
     $session_id = DB::table('oauth_sessions')->insertGetId(['client_id' => 'default', 'owner_type' => 'user', 'owner_id' => "user:1", 'created_at' => $now, 'updated_at' => $now]);
     DB::table('oauth_access_tokens')->insert(['id' => 'SyjKhdQ1JcKs1S6X18VQW2LaTclJYzW4AC1dfkFk', 'session_id' => $session_id, 'expire_time' => time() + 86400 * 30, 'created_at' => $now, 'updated_at' => $now]);
     $session_id = DB::table('oauth_sessions')->insertGetId(['client_id' => 'default', 'owner_type' => 'user', 'owner_id' => "admin:1", 'created_at' => $now, 'updated_at' => $now]);
     DB::table('oauth_access_tokens')->insert(['id' => 'L3gkUwlwCQpUFGwbbX9HuAmc9YsMh8Oe42OQRNiY', 'session_id' => $session_id, 'expire_time' => time() + 86400 * 30, 'created_at' => $now, 'updated_at' => $now]);
     // User
     DB::table('users')->truncate();
     $user = new User();
     $users = array(array('email' => '*****@*****.**', 'nickname' => 'garbin', 'name' => 'Garbin Huang', 'password' => '123456', 'avatar' => 'http://tp3.sinaimg.cn/1812747674/180/5606472968/1'));
     foreach ($users as $user) {
         $user = new User($user);
         $user->save();
     }
     // Operator
     $operator_user = User::find(1);
     $operator_admin = Admin::find(1);
     $operator_system = new SystemOperator();
     // Category
     DB::table('categories')->truncate();
     $cate_mac = Category::create(array('category_name' => 'Mac', 'parent_id' => 0));
     $cate_mac->children()->create(['category_name' => 'Macbook Pro']);
     $cate_mac->children()->create(['category_name' => 'Macbook Air']);
     $cate_mac->children()->create(['category_name' => 'iMac']);
     $cate_mac->children()->create(['category_name' => 'Mac mini']);
     $cate_mac->children()->create(['category_name' => 'Mac Pro']);
     $cate_mac = Category::create(array('category_name' => 'iPhone', 'parent_id' => 0));
     $cate_iphone6 = $cate_mac->children()->create(['category_name' => 'iPhone 6']);
     $cate_iphone5s = $cate_mac->children()->create(['category_name' => 'iPhone 5s']);
     // Product
     foreach (['products', 'product_2_category', 'product_photos', 'product_stocks'] as $table) {
         DB::table($table)->truncate();
     }
     $iphone6 = Product::create(array('product_name' => 'iPhone 6', 'status' => 'available', 'product_desc' => 'Bigger than bigger', 'options' => array(['name' => '颜色', 'options' => ['银色', '深空灰', '香槟金']], ['name' => '容量', 'options' => ['16GB', '64GB', '128GB']]), 'specifications' => [['attr_name' => '高度', 'attr_group' => '重量和尺寸', 'attr_value' => '138.1 毫米(5.44 英寸)'], ['attr_name' => '宽度', 'attr_group' => '重量和尺寸', 'attr_value' => '67.0 毫米 (2.64 英寸)'], ['attr_name' => '厚度', 'attr_group' => '重量和尺寸', 'attr_value' => '6.9 毫米 (0.27 英寸)'], ['attr_name' => '重量', 'attr_group' => '重量和尺寸', 'attr_value' => '129 克 (4.55 盎司)']]));
     $all_photo = new UploadFile(array('file' => (string) Image::make(database_path() . '/seeds/files/iphone6p-all.png')->encode('data-url'), 'file_name' => 'iphone6p-all.png'));
     $all_photo->save();
     $gray_photo = new UploadFile(array('file' => (string) Image::make(database_path() . '/seeds/files/iphone6p-gray.png')->encode('data-url'), 'file_name' => 'iphone6p-gray.png'));
     $gray_photo->save();
     $gold_photo = new UploadFile(array('file' => (string) Image::make(database_path() . '/seeds/files/iphone6p-gold.png')->encode('data-url'), 'file_name' => 'iphone6p-gold.png'));
     $gold_photo->save();
     $gold_photo = new UploadFile(array('file' => (string) Image::make(database_path() . '/seeds/files/iphone6p-silver.png')->encode('data-url'), 'file_name' => 'iphone6p-silver.png'));
     $gold_photo->save();
     $iphone6->photos()->save(new ProductPhoto(['product_id' => $iphone6->id, 'file_id' => $all_photo->id, 'sort_index' => 0]));
     $iphone6->photos()->save(new ProductPhoto(['product_id' => $iphone6->id, 'file_id' => $gray_photo->id, 'sort_index' => 1]));
     $iphone6->photos()->save(new ProductPhoto(['product_id' => $iphone6->id, 'file_id' => $gold_photo->id, 'sort_index' => 2]));
     $gray_iphone616 = $iphone6->stocks()->create(array('sku' => uniqid(), 'option' => ['深空灰', '16GB'], 'stocks' => 100, 'price' => 5288, 'cover_id' => $gray_photo->id));
     $gray_iphone664 = $iphone6->stocks()->create(array('sku' => 'iphone664-gray', 'option' => ['深空灰', '64GB'], 'stocks' => 100, 'price' => 6088));
     $gray_iphone6128 = $iphone6->stocks()->create(array('sku' => 'iphone6128-gray', 'option' => ['深空灰', '128GB'], 'stocks' => 100, 'price' => 6888));
     $silver_iphone616 = $iphone6->stocks()->create(array('sku' => 'iphone616-gray', 'option' => ['银色', '16GB'], 'stocks' => 100, 'price' => 5288));
     $gold_iphone616 = $iphone6->stocks()->create(array('sku' => 'iphone616-gold', 'option' => ['香槟金', '16GB'], 'stocks' => 100, 'price' => 5288));
     $iphone5s = Product::create(array('product_name' => 'iPhone 5S', 'status' => 'available', 'product_desc' => 'out stock', 'options' => array(['name' => '颜色', 'options' => ['银色', '深空灰', '香槟金']], ['name' => '容量', 'options' => ['16GB', '32GB', '64GB']])));
     $iphone6->categories()->attach($cate_iphone6->id);
     // Bag
     foreach (['bags', 'orders', 'order_products', 'logistics', 'payments'] as $table) {
         DB::table($table)->truncate();
     }
     $logistics = Logistics::create(array('logistics_name' => '标准运送', 'status' => 'enabled', 'logistics_desc' => '标准运送,免费送货', 'deliverer_name' => '\\App\\Plugins\\Offical\\Deliverers\\Simple', 'deliverer_settings' => array('effective' => '当日达', 'price' => 8), 'deliverer_cod' => array('北京' => array('北京' => array('朝阳区')), '福建' => array('福州' => array('仓山区')))));
     $payment = Payment::create(array('payment_name' => '支付宝', 'status' => 'enabled', 'payment_desc' => '支付宝即时到账支付', 'gateway_name' => '\\App\\Plugins\\Offical\\Payments\\Alipay\\Main', 'gateway_settings' => array('pid' => '111', 'key' => '222')));
     $page = Page::create(["title" => "首页轮播", "pathname" => "index", "position" => "index", "settings" => ['widgets' => json_decode('[{"widget":"Offical.Slider","style":{"padding":"0px","margin":"-50px 0px 0px 0px"},"data":["<div class=\\"slide-item\\" style=\\"background-image:url(http://images.apple.com/v/home/bx/images/music_hero_medium_2x.jpg)\\"><div class=\\"carousel-caption\\"><h3>Apple Music</h3><p>Free, three-month trial now available</p></div></div>","<div class=\\"slide-item\\" style=\\"background-image:url(http://images.apple.com/v/home/bx/images/music_hero_medium_2x.jpg)\\"><div class=\\"carousel-caption\\"><h3>Apple Music</h3><p>Free, three-month trial now available</p></div></div>"]},{"widget":"Offical.ItemsBelowText","className":"avatar","data":{"title":"Our Customers","subtitle":"They says Apple is awesome!","items":["<img src=\\"https://almsaeedstudio.com/themes/AdminLTE/dist/img/user5-128x128.jpg\\" alt=\\"User Image\\" /><a class=\\"users-list-name\\" href=\\"#\\">Alexander Pierce</a><span class=\\"users-list-date\\">Today</span>","<img src=\\"https://almsaeedstudio.com/themes/AdminLTE/dist/img/user7-128x128.jpg\\" alt=\\"User Image\\" /><a class=\\"users-list-name\\" href=\\"#\\">Alexander Pierce</a><span class=\\"users-list-date\\">Today</span>","<img src=\\"https://almsaeedstudio.com/themes/AdminLTE/dist/img/user6-128x128.jpg\\" alt=\\"User Image\\" /><a class=\\"users-list-name\\" href=\\"#\\">Alexander Pierce</a><span class=\\"users-list-date\\">Today</span>"]}}]')]]);
     $page = Page::create(["title" => "GoPro Hero 4", "pathname" => "hero4", "position" => "nav", "settings" => ['widgets' => json_decode('[{"widget":"Offical.Header","data":{"title":"GoPro Hero4","subtitle":"Be a hero","links":[{"text":"Overview","active":true,"href":"/hero4"},{"text":"Specs","href":"/hero4/specs"},{"text":"Gallery","href":"/hero4/gallery"},{"text":"Buy now","className":"btn btn-primary btn-sm","href":"/hero4/buy"}]}},{"widget":"Offical.Slider","style":{"padding":"0px","margin":"0px"},"data":["<div class=\\"slide-item\\" style=\\"background-image:url(http://images.apple.com/v/home/bx/images/music_hero_medium_2x.jpg)\\"><div class=\\"carousel-caption\\"><h3>Apple Music</h3><p>Free, three-month trial now available</p></div></div>","<div class=\\"slide-item\\" style=\\"background-image:url(http://images.apple.com/v/home/bx/images/music_hero_medium_2x.jpg)\\"><div class=\\"carousel-caption\\"><h3>Apple Music</h3><p>Free, three-month trial now available</p></div></div>"]},{"widget":"Offical.ImageParkText","style":{"backgroundColor":"whitesmoke"},"data":{"text":{"title":"Professional video quality.","subtitle":"HERO4 Session delivers stunning video quality. Capture high-resolution 1440p30 and 1080p60 video that’s sharp and lifelike. High frame rate 720p100 video enables exceptionally smooth slow-motion playback of your best moments."},"img":"http://demandware.edgesuite.net/aasj_prd/on/demandware.static/-/Sites-gopro-products/default/dw3d8fb012/cam-respresent-four/HERO4_Session_Feature_2_video.jpg"}},{"style":{"backgroundColor":"white"},"widget":"Offical.ImageParkText","data":{"text":{"title":"Smallest, lightest GoPro yet.","subtitle":"50% smaller and 40% lighter than other HERO4 cameras,1 HERO4 Session is the most wearable and mountable GoPro ever. With a sleek, versatile design, it’s at home anywhere—from the surf to the snow, to hanging with friends."},"img":"http://demandware.edgesuite.net/aasj_prd/on/demandware.static/-/Sites-gopro-products/default/dw80d5e42d/cam-respresent-four/HERO4_Session_Feature_1_smallestlightest.jpg"}},{"style":{"backgroundColor":"white"},"widget":"Offical.ImageParkText","data":{"text":{"title":"Easy one-button control.","subtitle":"A single press of the shutter button powers on the camera and begins capturing video or Time Lapse photos automatically. A second press of the shutter button stops recording and powers off the camera. It’s that simple."},"img":"http://demandware.edgesuite.net/aasj_prd/on/demandware.static/-/Sites-gopro-products/default/dw9f2ed908/cam-respresent-four/HERO4_Session_Feature_6_OneButton.jpg"}}]')]]);
     $page = Page::create(["title" => "Buy now", "pathname" => "hero4/buy", "position" => "hero4", "settings" => ['widgets' => json_decode('[{"widget":"Offical.Header","data":{"title":"GoPro Hero4","subtitle":"Be a hero","links":[{"text":"Overview","active":true,"href":"/hero4"},{"text":"Specs","href":"/hero4/specs"},{"text":"Gallery","href":"/hero4/gallery"},{"text":"Buy now","className":"btn btn-primary btn-sm","href":"/hero4/buy"}]}},{"widget":"Offical.Slider","style":{"padding":"0px","margin":"0px"},"data":["<div class=\\"slide-item\\" style=\\"background-image:url(http://images.apple.com/v/home/bx/images/music_hero_medium_2x.jpg)\\"><div class=\\"carousel-caption\\"><h3>Apple Music</h3><p>Free, three-month trial now available</p></div></div>","<div class=\\"slide-item\\" style=\\"background-image:url(http://images.apple.com/v/home/bx/images/music_hero_medium_2x.jpg)\\"><div class=\\"carousel-caption\\"><h3>Apple Music</h3><p>Free, three-month trial now available</p></div></div>"]},{"widget":"Offical.ImageParkText","style":{"backgroundColor":"whitesmoke"},"data":{"text":{"title":"Professional video quality.","subtitle":"HERO4 Session delivers stunning video quality. Capture high-resolution 1440p30 and 1080p60 video that’s sharp and lifelike. High frame rate 720p100 video enables exceptionally smooth slow-motion playback of your best moments."},"img":"http://demandware.edgesuite.net/aasj_prd/on/demandware.static/-/Sites-gopro-products/default/dw3d8fb012/cam-respresent-four/HERO4_Session_Feature_2_video.jpg"}},{"style":{"backgroundColor":"white"},"widget":"Offical.ImageParkText","data":{"text":{"title":"Smallest, lightest GoPro yet.","subtitle":"50% smaller and 40% lighter than other HERO4 cameras,1 HERO4 Session is the most wearable and mountable GoPro ever. With a sleek, versatile design, it’s at home anywhere—from the surf to the snow, to hanging with friends."},"img":"http://demandware.edgesuite.net/aasj_prd/on/demandware.static/-/Sites-gopro-products/default/dw80d5e42d/cam-respresent-four/HERO4_Session_Feature_1_smallestlightest.jpg"}},{"style":{"backgroundColor":"white"},"widget":"Offical.ImageParkText","data":{"text":{"title":"Easy one-button control.","subtitle":"A single press of the shutter button powers on the camera and begins capturing video or Time Lapse photos automatically. A second press of the shutter button stops recording and powers off the camera. It’s that simple."},"img":"http://demandware.edgesuite.net/aasj_prd/on/demandware.static/-/Sites-gopro-products/default/dw9f2ed908/cam-respresent-four/HERO4_Session_Feature_6_OneButton.jpg"}}]')]]);
     $page = Page::create(["title" => "DJI Phantom 3", "pathname" => "phantom3", "position" => "nav", "settings" => ['widgets' => []]]);
     $page = Page::create(["title" => "Apple Watch", "pathname" => "watch", "position" => "nav", "settings" => ['widgets' => []]]);
     $stock = ProductStock::with('product')->where('sku', '=', 'iphone616-gray')->first();
     $order = Order::create(['logistics_consignee' => 'Garbin Huang', 'logistics_region' => ['福建', '福州', '仓山区'], 'logistics_address' => '福湾新城春风苑2区6号楼802', 'logistics_zipcode' => '3500001', 'logistics_mobile' => '18610073651', 'logistics_phone' => '', 'logistics_email' => '*****@*****.**', 'logistics_id' => 1, 'logistics_cod' => false, 'logistics_tracking_number' => '', 'payment_id' => 1, 'user_id' => 1]);
     $order_products = [new OrderProduct(['product_id' => $stock->product->id, 'product_name' => $stock->product->product_name, 'sku' => $stock->sku, 'option' => $stock->option, 'price' => $stock->price, 'quantity' => 1, 'custom_info' => []])];
     $order->calc($order_products);
     $order->save();
     $order_product = $order->products()->saveMany($order_products);
     // Test Order
     $stock = ProductStock::with('product')->where('sku', '=', 'iphone616-gold')->first();
     $order = Order::create(['logistics_consignee' => 'Garbin Huang', 'logistics_region' => ['福建', '福州', '仓山区'], 'logistics_address' => '福湾新城春风苑2区6号楼802', 'logistics_zipcode' => '3500001', 'logistics_mobile' => '18610073651', 'logistics_phone' => '', 'logistics_email' => '*****@*****.**', 'logistics_id' => 1, 'logistics_cod' => true, 'logistics_tracking_number' => '', 'payment_id' => 1, 'user_id' => 1]);
     $order_products = [new OrderProduct(['product_id' => $stock->product->id, 'product_name' => $stock->product->product_name, 'sku' => $stock->sku, 'option' => $stock->option, 'price' => $stock->price, 'quantity' => 1, 'custom_info' => []])];
     $order->calc($order_products);
     $order->save();
     $order_product = $order->products()->saveMany($order_products);
     $this->command->info('Test Data seeded');
 }
Пример #11
0
 /**
  * Proccess payment
  *
  * @param  Request $request
  * @return Response
  */
 public function pay(Request $request)
 {
     $user = Auth::user();
     if ($request->session()->has('addressId')) {
         $address = Address::find($request->session()->get('addressId'));
         $request->session()->forget('addressId');
     } else {
         $address = $user->address;
     }
     // array for order data
     $orderData = [];
     $orderData['full_price'] = Cart::totalWithShipping();
     $orderData['user_id'] = $user->id;
     $orderData['address_id'] = $address->id;
     if ($request->has('stripeToken')) {
         \Stripe\Stripe::setApiKey(env('STRIPE_TEST_SECRET_KEY'));
         $orderData['stripeToken'] = $request->get('stripeToken');
         $orderData['payment_method_id'] = 1;
         try {
             $charge = \Stripe\Charge::create(array("amount" => $orderData['full_price'] * 100, "currency" => "usd", "source" => $orderData['stripeToken'], "description" => "Test charge; user e-mail: " . $user->email));
         } catch (\Stripe\Error\Card $e) {
             $request->session()->flash('status', 'Card declined, please fill your card and try again later.');
             return redirect('/');
         }
     } else {
         $orderData['payment_method_id'] = 2;
     }
     $cartProducts = \Cart::associate('Product', 'App\\Models')->content();
     $products = new Collection();
     foreach ($cartProducts as $item) {
         $products->push(['product' => \App\Models\Product::find($item->id), 'quantity' => $item->qty]);
     }
     // Get the order weight
     $orderData['weight'] = 0;
     foreach ($products as $product) {
         $orderData['weight'] += $product['product']->weight * $product['quantity'];
     }
     $order = Order::create($orderData);
     foreach ($products as $product) {
         OrderProduct::create(['order_id' => $order->id, 'product_id' => $product['product']->id, 'quantity' => $product['quantity'], 'price' => (double) $product['product']->price * $product['quantity']]);
     }
     Event::fire(new OrderWasPlaced($order));
     Cart::destroy();
     $request->session()->flash('status', 'Order recieved.');
     return redirect('/');
 }