order_id); return view('order.change_price',[ 'order_goods_model' => $order_model->hasManyOrderGoods, 'order_model' => $order_model, 'change_num' => 1//改价次数 ]); } /** * 修改 * @param \Request $request * @return \Illuminate\Http\JsonResponse */ public function store(\Illuminate\Http\Request $request) { OrderService::changeOrderPrice($request); return $this->message('改价成功'); } /** * 改价状态清空重置 todo 有bug * @param \Request $request */ public function back(\Illuminate\Http\Request $request){ $orderId = $request->input('order_id'); $this->validate([ 'order_id'=>'required' ]); $order = Order::find($orderId); $change_price = $order->orderChangePriceLogs->sum('change_price'); $order->price -= $change_price; $order->order_goods_price -= $change_price; $order->dispatch -= $order->orderChangePriceLogs->sum('change_dispatch_price'); DB::transaction(function ()use ($order){ $order->hasManyOrderGoods->sum(function ($orderGoods){ dd($orderGoods->hasManyChangeOrderGoodsPrcieLogs); exit; if(!isset($orderGoods->hasManyChangeOrderGoodsPrcieLogs)){ return 0; } $result = $orderGoods->hasManyChangeOrderGoodsPrcieLogs->sum('change_price'); /** * @var $orderGoods OrderGoods */ $orderGoods->orderGoodsChangePriceLogs()->delete(); return $result; }); $order->orderChangePriceLogs()->delete(); $order->push(); }); echo 'ok'; } /** * 展示 */ public function indexApi() { $order_model = Order::with(['hasManyOrderGoods'=> function($query) { $query->with('hasOneGoods'); },'address'])->find(request()->order_id); return $this->successJson('show',[ 'order_goods_model' => $order_model->hasManyOrderGoods, 'order_model' => $order_model, 'change_num' => 1//改价次数 ]); } /** * 修改价格保存 * @return \Illuminate\Http\JsonResponse * @throws \app\common\exceptions\AppException */ public function storeApi() { OrderService::changeOrderPrice(request()->input()); return $this->successJson('改价成功'); } }