diff --git a/app/Domains/Virtual/Services/OrderService.php b/app/Domains/Virtual/Services/OrderService.php index 93cc80e2..abbac7a4 100644 --- a/app/Domains/Virtual/Services/OrderService.php +++ b/app/Domains/Virtual/Services/OrderService.php @@ -695,11 +695,18 @@ class OrderService extends Service }; $table = $this->tables[$order['type']]; - DB::table($table)->upsert($orderCards, ['sim', 'order_id', 'refunded_at', 'deleted_at']); - $fixSimArray = implode(',', $simArray); - DB::statement("select fix_timelines('{{$fixSimArray}}'::INT8[]);"); + + DB::transaction(function() use($table, $orderCards, $simArray) { + foreach ($orderCards as $value) { + DB::table($table)->upsert($value, ['sim', 'order_id', 'refunded_at', 'deleted_at']); + $fixSimArray = implode(',', $simArray); + DB::statement("select fix_timelines('{{$fixSimArray}}'::INT8[]);"); + } + }); + app(OrderCardPartitionRepository::class)->forgetCached(); + return $order; }