public function update(Request $request, $id) { $good = Good::find($id); $result = $request->except(['imgs', 'attr_id_list', 'attr_value_list', 'attr_price_list']); $result = isset($result->hot) ? $result : array_add($result, 'hot', 0); $result = isset($result->best) ? $result : array_add($result, 'best', 0); $result = isset($result->new) ? $result : array_add($result, 'new', 0); $result = isset($result->onsale) ? $result : array_add($result, 'onsale', 0); $good->update($result); //增加属性 if ($request->attr_id_list) { //先删除原有属性 Good_attr::where('good_id', $id)->delete(); foreach ($request->attr_id_list as $k => $v) { $good_attr = new Good_attr(); $good_attr->good_id = $good->id; $good_attr->attr_id = $v; $good_attr->attr_value = $request->attr_value_list["{$k}"]; $good_attr->attr_price = $request->attr_price_list["{$k}"]; $good_attr->save(); } } //商品相册 if ($request->imgs) { foreach ($request->imgs as $img) { $good_gallery = new Good_gallery(); $good_gallery->good_id = $good->id; $good_gallery->img = $img; $good_gallery->save(); } } return redirect(route('admin.good.index'))->with('info', '编辑商品成功'); }
public function destroy($transportingId, $goodId) { $good = Good::find($goodId); $good->delete(); $transporting = Transporting::find($transportingId); $goods = $transporting->goods; return redirect(route('dashboard.good.index', ['transporting' => $transporting, 'goods' => $goods])); }
public function update(Request $request, $id) { $messages = ['name.required' => '商品名称不能为空!', 'category_id.required' => '商品分类不能为空!']; $this->validate($request, ['name' => 'required', 'category_id' => 'required'], $messages); $good = Good::find($id); $result = $request->except(['imgs', 'attr_id_list', 'attr_value_list', 'attr_price_list']); //如果checkbox未选中,设置为false $result = isset($request->best) ? $result : array_add($result, 'best', false); $result = isset($request->new) ? $result : array_add($result, 'new', false); $result = isset($request->hot) ? $result : array_add($result, 'hot', false); $result = isset($request->onsale) ? $result : array_add($result, 'onsale', false); $good->update($result); //增加属性 if ($request->attr_id_list) { //先删除原有属性 Good_attr::where('good_id', $id)->delete(); foreach ($request->attr_id_list as $k => $v) { $good_attr = new Good_attr(); $good_attr->good_id = $good->id; $good_attr->attr_id = $v; $good_attr->attr_value = $request->attr_value_list["{$k}"]; $good_attr->attr_price = $request->attr_price_list["{$k}"]; $good_attr->save(); } } //商品相册 if ($request->imgs) { foreach ($request->imgs as $img) { $good_gallery = new Good_gallery(); $good_gallery->good_id = $good->id; $good_gallery->img = $img; $good_gallery->save(); } } return redirect(route('admin.good.index'))->with('info', '编辑商品成功'); }
public function postPaying (Request $request) { /* if (Session::get('pay_token') == $request->input('pay_token')) { return redirect('/home'); } else { Session::put('pay_token', $request->input('pay_token')); } */ $order = Order::where('code', '=', $request->input('order_code'))->first(); if (empty($order->id)) { return redirect('/home'); } if ($order->status > 0) { //todo payed return redirect('/profile/myorder'); } else if ($order->active == 0) { //todo order closed. return redirect('/home'); } if (empty($request->input('pay'))) { Session::put('pay_omit', true); return redirect('/order/pay?ordedr=' . $order->code); } $good = Good::find($order->gid); $orderPrice = OrderPrice::where('oid', '=', $order->id)->first(); require_once('lib/alipay_submit.class.php'); switch ($request->input('pay')) { case 'zhifubao': return $this->alipay($order, $good, $orderPrice); case 'union': $bank = $request->input('bank'); if (empty($bank)) { Session::put('bank_omit', true); return redirect('/order/pay?order=' . $order->code); } return $this->creditpay($order, $good, $orderPrice, $bank); case 'wechat': return $this->wechatPay($order, $good, $orderPrice); default : break; } }
public function add_cart(Request $request) { //判断购物车,当前商品是否有记录 $cart = Cart::where('good_id', $request->good_id)->where('user_id', $this->user->id)->first(); //当前商品库存数 $number = Good::find($request->good_id)->number; // //如果是初次新增到购物车 if (!$cart) { //如果用户提交数大于库存数,提示商品库存不足 if ($request->num > $number) { return response()->json(['status' => 0, 'info' => '商品库存不足']); } Cart::create(['good_id' => $request->good_id, 'user_id' => $this->user->id, 'number' => $request->num]); return response()->json(['status' => 1, 'info' => '恭喜,已添至购物车~', 'cart_number' => $this->cart_number()]); } //如果购物车已经有该商品的记录 //购物车里的数量+用户新提交的数量 > 库存数 $new_num = $cart->number + $request->num; if ($new_num > $number) { return response()->json(['status' => 0, 'info' => '商品库存不足']); } //如果库存足够,就把原有的数量+新数量,更新数据库 $cart->number = $new_num; $cart->save(); //status起一个壮态标志作用,看是否购买成功 return response()->json(['status' => 1, 'info' => '恭喜,已添至购物车~', 'cart_number' => $this->cart_number()]); }
public function add_cart(Request $request) { //判断购物车,当前商品是否有记录 $cart = Cart::where('good_id', $request->good_id)->where('user_id', $this->user->id)->first(); //当前商品库存数 $number = Good::find($request->good_id)->number; //如果是初次新增到购物车 if (!$cart) { //如果用户提交数大于库存数,提示商品库存不足 if ($request->num > $number) { return response()->json(['status' => 0, 'info' => '购买量不能超过库存总数']); } Cart::create(['good_id' => $request->good_id, 'user_id' => $this->user->id, 'num' => $request->num]); return response()->json(['status' => 1, 'info' => '恭喜,已添至购物车~', 'cart_number' => $this->cart_number()]); } //如果购物车已经有该商品的记录 //购物车里的数量+用户新提交的数量 > 库存数 $new_num = $cart->num + $request->num; if ($new_num > $number) { return response()->json(['status' => 0, 'info' => '购物车中该商品数量已超过库存']); } $cart->num = $new_num; $cart->save(); return response()->json(['status' => 1, 'info' => '恭喜,已添至购物车~', 'cart_number' => $this->cart_number(), 'total_price' => number_format($this->total_price(), 2)]); }
public function sort(Request $request) { $good = Good::find($request->id); $good->sort_order = $request->sort_order; $good->save(); }