weizong song 5 years ago
parent 97d5977ff4
commit 2ea9c68231

@ -590,7 +590,7 @@ class OrdersController extends CommonController
} }
if ($total_increased > $customer->balance) { if ($total_increased > $customer->balance) {
$errors[] = "价格补差超过了客户余额,请先充值"; $errors[] = "价格补差{$total_increased}超过了客户余额{$customer->balance},请先充值";
} }
//todo:价格低于指导价的提示 //todo:价格低于指导价的提示
@ -610,12 +610,7 @@ class OrdersController extends CommonController
DB::beginTransaction(); DB::beginTransaction();
try { 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) { foreach ($price_changed_paid_items as $price_changed_paid_item) {
$total_offset = $price_changed_paid_item->total - $request->price; $total_offset = $price_changed_paid_item->total - $request->price;
$customer->balance = $customer->balance + $total_offset; $customer->balance = $customer->balance + $total_offset;
@ -628,8 +623,23 @@ class OrdersController extends CommonController
"balance" => $customer->balance "balance" => $customer->balance
]); ]);
} }
//保存客户余额更新
$customer->save(); $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(); DB::commit();
return response()->json(["updated_items" => count($order_items)]); return response()->json(["updated_items" => count($order_items)]);
} catch (\Exception $exception) { } catch (\Exception $exception) {

@ -18,7 +18,7 @@ class OrderItems extends SoftDeletesModel
public function customer() 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() public function product()
@ -66,7 +66,7 @@ class OrderItems extends SoftDeletesModel
return $this->belongsTo(Paramedic::class); 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); $order = (new Orders())->find($order_id);
@ -183,7 +183,7 @@ class OrderItems extends SoftDeletesModel
]); ]);
$item->order->refreshTotal(); $item->order->refreshTotal();
dump($item->id.":".$item->service_date); dump($item->id . ":" . $item->service_date);
} }
} }

Loading…
Cancel
Save