0
0
Files
Babyclass/app/Http/Controllers/GiftController.php
2020-08-04 10:09:42 +08:00

123 lines
3.5 KiB
PHP

<?php
namespace App\Http\Controllers;
use Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\View;
use RuLong\Order\Models\Order;
use RuLong\Order\Models\OrderExpress;
class GiftController extends Controller
{
public function __construct(Request $request)
{
parent::__construct($request);
$this->middleware('auth');
View::share('nav', 2);
}
public function index()
{
$orders = Order::where('user_id', Auth::id())
->Gift()
->where('state', '<>', Order::ORDER_CLOSED)
->orderBy('id', 'desc')
->get();
return view('gifts.index', compact('orders'));
}
//活动和优惠券 未支付
public function unpay()
{
$orders = Order::UnAddress()
->Gift()
->where('user_id', Auth::id())
->orderBy('id', 'desc')
->get();
return view('gifts.index', compact('orders'));
}
//已支付报名课程和活动
public function paid()
{
$orders = Order::UnDeliver()
->Gift()
->where('user_id', Auth::id())
->orderBy('id', 'desc')
->get();
return view('gifts.index', compact('orders'));
}
public function delivered()
{
$orders = Order::Delivered()
->Gift()
->where('user_id', Auth::id())
->orderBy('id', 'desc')
->get();
return view('gifts.index', compact('orders'));
}
public function signed()
{
$orders = Order::Delivered()
->Gift()
->where('user_id', Auth::id())
->orderBy('id', 'desc')
->get();
return view('gifts.index', compact('orders'));
}
public function show($orderid)
{
$order = Order::where('orderid', $orderid)->firstOrFail();
return view('orders.show', compact('order'));
}
public function sign($orderid)
{
$order = Order::where('orderid', $orderid)->firstOrFail();
try {
$order->signin();
return $this->success('签收成功', route('gifts.signed'));
} catch (\Exception $e) {
return $this->error('签收失败' . $e->getmessage());
}
}
//设置收货地址
public function address(Request $request, Order $order)
{
$callback = $request->callback;
if ($request->isMethod('post')) {
if ($request->address_id) {
$address = \Address::get($request->address_id);
} else {
$address = \Address::store(
[
'user_id' => Auth::id(),
'name' => $request->name,
'mobile' => $request->mobile,
'province_sn' => $request->province_sn,
'city_sn' => $request->city_sn,
'area_sn' => $request->area_sn,
'address' => $request->address,
]
);
}
$express = new OrderExpress(['instance' => $address]);
$order->express()->save($express);
$order->state = Order::ORDER_PAID;
$order->save();
return $this->success('设置地址成功', $callback);
} else {
$provinces = \Area::index(0);
$address_list = \Address::lists(Auth::id());
return view('gifts.address', compact('provinces', 'order', 'address_list', 'callback'));
}
}
}