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', '编辑商品成功');
 }
Beispiel #4
0
  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;

    }

  }
Beispiel #5
0
 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)]);
 }
Beispiel #7
0
 public function sort(Request $request)
 {
     $good = Good::find($request->id);
     $good->sort_order = $request->sort_order;
     $good->save();
 }