1
0

提交代码

This commit is contained in:
2020-08-06 14:45:56 +08:00
commit 9d0d5f4be9
361 changed files with 36445 additions and 0 deletions

View File

@@ -0,0 +1,108 @@
<?php
namespace App\Http\Controllers;
use App\Models\Cart;
use App\Models\Goods;
use App\Models\GoodsParams;
use Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\View;
class CartController extends Controller
{
public function __construct(Request $request)
{
$this->middleware('auth');
View::share('nav', 1);
}
public function index(Request $request)
{
$lists = Cart::mine()->orderBy('id', 'desc')->get();
$carts = [];
foreach ($lists as $cart) {
if ($cart->params->stock < 1) {
$cart->delete();
} else {
if ($cart->number > $cart->params->stock) {
$cart->number = $cart->params->stock;
$cart->save();
}
$carts[] = $cart;
}
}
$recommends = Goods::where('status', 1)->where('is_recommend', 1)->take(6)->orderBy('created_at', 'desc')->get();
return view('cart.index', compact('carts', 'recommends'));
}
public function setnum(Request $request)
{
$cart = Cart::find($request->id);
$cart->number = $request->number;
$cart->save();
}
public function sure(Request $request)
{
$data = array();
foreach (explode(',', $request->cart_id) as $key => $value) {
$cart = Cart::find($value);
if ($cart) {
$data['details'][0][$value]['cart_id'] = $value;
$data['details'][0][$value]['params_id'] = $cart->params_id;
$data['details'][0][$value]['number'] = $cart->number;
}
}
$data['item']['id'] = 0;
$data['item']['type'] = 'MEMBER';
return redirect()->route('orders.create', $data);
}
public function delete(Request $request)
{
$id = $request->id;
$cart = Cart::find($id);
if ($cart->delete()) {
return $this->success('删除成功');
} else {
return $this->error('删除失败');
}
}
//加入购物车
public function store(Request $request)
{
if (Cart::where('user_id', Auth::id())->count() == 99) {
return ['code' => 0, 'msg' => '您的购物车商品数量已达上限99个'];
}
foreach ($request->details as $key => $details) {
foreach ($details as $detail) {
$user_id = Auth::id();
$result = Cart::where(['user_id' => $user_id, 'params_id' => $detail['params_id']])->first();
$params = GoodsParams::find($detail['params_id']);
if ($result) {
$result->number += $detail['number'];
$result->save();
} else {
$result = Cart::create([
'user_id' => Auth::id(),
'params_id' => $detail['params_id'],
'goods_id' => $params->goods_id, //保存goods_id是为了下架商品时删除购物车
'number' => $detail['number'],
]);
}
}
}
if ($result) {
return $this->success('成功加入购物车');
} else {
return $this->error('加入购物车失败');
}
}
}