diff --git a/app/Domains/Real/Commands/Sync/RefundSync.php b/app/Domains/Real/Commands/Sync/RefundSync.php index c8f45192..b8862dcc 100644 --- a/app/Domains/Real/Commands/Sync/RefundSync.php +++ b/app/Domains/Real/Commands/Sync/RefundSync.php @@ -43,10 +43,13 @@ class RefundSync extends Command ->update(['refunded_at' => $item->create_time]); DB::table('virtual_order_cards_partition') - ->whereIn('sim', $item->sim) - ->where('created_at', '<=', $item->create_time) - // ->whereNull('service_start_at') - ->update(['refunded_at' => $item->create_time]); + ->leftJoin('cards', 'cards.sim', '=', 'virtual_order_cards_partition.sim') + ->whereIn('virtual_order_cards_partition.sim', $item->sim) + ->where('virtual_order_cards_partition.created_at', '<=', $item->create_time) + ->where(function ($query) use ($item) { + $query->whereNull('cards.virtual_activated_at')->orWhere('cards.virtual_activated_at', '>=', $item->create_time); + }) + ->update(['virtual_order_cards_partition.refunded_at' => $item->create_time]); } });