diff --git a/app/Http/Controllers/Manager/OrdersController.php b/app/Http/Controllers/Manager/OrdersController.php index 2b735ef..2711b19 100644 --- a/app/Http/Controllers/Manager/OrdersController.php +++ b/app/Http/Controllers/Manager/OrdersController.php @@ -869,18 +869,32 @@ class OrdersController extends CommonController DB::beginTransaction(); try { + foreach ($unpaid_order_items as $order_item) { + //更新子订单支付状态 + $order_item->update(["paid_at" => date("Y-m-d H:i:s")]); + + //更新客户余额(暂不保存,最后统一保存) + $order->customer->balance = $order->customer->balance - $order_item->total; + + //创建收款记录 + (new Balance())->create([ + "customer_id" => $order->customer->id, + "order_id" => $order->id, + "belongs_type" => get_class($order_item), + "belongs_id" => $order_item->id, + "money" => -$order_item->total, + "balance" => $order->customer->balance + ]); + } + for ($i = 0; $i < $to_generate_days; $i++) { if ($i > 0) { $service_date = Carbon::parse($to_generate_start_date)->addDays($i)->toDateString(); } else { $service_date = $to_generate_start_date; } - $new_item = (new OrderItems())->createItem($order->id, $service_date); - $unpaid_order_items->push($new_item); - } - DB::commit(); + $order_item = (new OrderItems())->createItem($order->id, $service_date); - foreach ($unpaid_order_items as $order_item) { //更新子订单支付状态 $order_item->update(["paid_at" => date("Y-m-d H:i:s")]);