diff --git a/app/Http/Controllers/Manager/OrdersController.php b/app/Http/Controllers/Manager/OrdersController.php index 9934388..f8bf8f2 100644 --- a/app/Http/Controllers/Manager/OrdersController.php +++ b/app/Http/Controllers/Manager/OrdersController.php @@ -590,7 +590,7 @@ class OrdersController extends CommonController } if ($total_increased > $customer->balance) { - $errors[] = "价格补差超过了客户余额,请先充值"; + $errors[] = "价格补差{$total_increased}超过了客户余额{$customer->balance},请先充值"; } //todo:价格低于指导价的提示 @@ -610,12 +610,7 @@ class OrdersController extends CommonController DB::beginTransaction(); try { - //循环更新所有子订单 - $update = (new OrderItems())->filterRequestColumns($request); - foreach ($order_items as $order_item) { - $order_item->update($update); - } - //根据已付款的价格异动子订单循环添加余额平衡表记录,并随时更新客户余额值 + //根据已付款的价格异动子订单循环添加余额平衡表记录,并随时更新客户余额值,执行完毕后保存客户余额更新 foreach ($price_changed_paid_items as $price_changed_paid_item) { $total_offset = $price_changed_paid_item->total - $request->price; $customer->balance = $customer->balance + $total_offset; @@ -628,8 +623,23 @@ class OrdersController extends CommonController "balance" => $customer->balance ]); } - //保存客户余额更新 $customer->save(); + + //循环更新所有子订单 + $update = []; + if ($request->has("bed_id")) { + $update["bed_id"] = $request->bed_id; + } + if ($request->has("bed_id")) { + $update["paramedic_id"] = $request->paramedic_id; + } + if ($request->has("price")) { + $update["total"] = $request->price; + } + foreach ($order_items as $order_item) { + $order_item->update($update); + } + DB::commit(); return response()->json(["updated_items" => count($order_items)]); } catch (\Exception $exception) { diff --git a/app/Models/OrderItems.php b/app/Models/OrderItems.php index da6b084..0e0f98d 100755 --- a/app/Models/OrderItems.php +++ b/app/Models/OrderItems.php @@ -18,7 +18,7 @@ class OrderItems extends SoftDeletesModel public function customer() { - return $this->hasOneThrough(Customer::class, Orders::class, "id", "id", "customer_id", "order_id"); + return $this->hasOneThrough(Customer::class, Orders::class, "id", "id", "order_id", "customer_id"); } public function product() @@ -66,7 +66,7 @@ class OrderItems extends SoftDeletesModel return $this->belongsTo(Paramedic::class); } - public function createItem($order_id,$service_date) + public function createItem($order_id, $service_date) { $order = (new Orders())->find($order_id); @@ -183,7 +183,7 @@ class OrderItems extends SoftDeletesModel ]); $item->order->refreshTotal(); - dump($item->id.":".$item->service_date); + dump($item->id . ":" . $item->service_date); } }