/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { // 验证一下必填项 $this->validate($request, ['name' => 'required', 'productImg' => 'required', 'purchasePrice' => 'required', 'price' => 'required', 'wholesalePrice' => 'required', 'description' => 'required']); $status = ['ok' => false, 'msg' => '']; $imgPath = ImageUtil::saveImgFromRequest($request, 'productImg', 'img/wd/product/' . Input::get('category')); if (!is_null($imgPath)) { $product = new Product(['name' => Input::get('name'), 'subtitle' => Input::get('subtitle'), 'thumbnail' => $imgPath, 'category_id' => Input::get('category'), 'domestic_price' => Input::get('purchasePrice'), 'retail_price' => Input::get('price'), 'wholesale_price' => Input::get('wholesalePrice'), 'count' => Input::get('count'), 'description' => Input::get('description')]); if (!$product->save()) { $status['msg'] = trans('products.addNewProduct.errors.addError'); } else { $status['ok'] = true; // 这里需要记录一下进货记录 $log = new InventoryLog(['product_id' => $product->id, 'count' => Input::get('count'), 'price' => Input::get("purchasePrice"), 'type' => InventoryConfig::IN]); $log->save(); } } else { $status['msg'] = trans('products.addNewProduct.errors.imgError'); } if ($status['ok']) { // return Redirect::back()->withMessage(['ok' => trans('products.addNewProduct.success.added')]); // 暂时跳转到信息列表页面吧 // return redirect($request->getPathInfo()); // return redirect($request->getPathInfo() . '/create')->withMessages( // ['ok' => trans('products.addNewProduct.success.added')] // ); return redirect($request->getPathInfo())->withOk(trans('products.addNewProduct.success.added')); } else { return Redirect::back()->withInput()->withErrors($status['msg']); } }
/** * 出货 * * @param Request $request * @return response */ public function inventoryOut(Request $request) { // 先验证 $this->validate($request, ['p_id' => 'required', 'p_count' => 'required|numeric', 'p_price' => 'required|numeric']); $id = Input::get("p_id"); $count = intval(Input::get("p_count")); $product = Product::findOrFail($id); // 这里要怎么处理呢? 预售的话,是没有库存数量的 if ($product->count < $count) { return response()->json(['success' => false, 'msgTag' => 'inventoryNotEnough']); } else { $product->count -= $count; } if ($product->save()) { // 货品更新成功了,记录一下log $log = new InventoryLog(['product_id' => $id, 'count' => $count, 'price' => Input::get("p_price"), 'type' => InventoryConfig::OUT]); $log->save(); return response()->json(['success' => true, 'count' => $product->count]); } else { return response()->json(['success' => false, 'msgTag' => "inventoryOutFailed", 'type' => 2]); } }