diff --git a/app/Domains/Card/Services/CardService.php b/app/Domains/Card/Services/CardService.php new file mode 100644 index 00000000..9e422459 --- /dev/null +++ b/app/Domains/Card/Services/CardService.php @@ -0,0 +1,18 @@ +assertTrue(true); + } +} diff --git a/app/Domains/Virtual/Services/FlowPoolService.php b/app/Domains/Virtual/Services/FlowPoolService.php index a13d8cfc..fce9dd5d 100644 --- a/app/Domains/Virtual/Services/FlowPoolService.php +++ b/app/Domains/Virtual/Services/FlowPoolService.php @@ -653,27 +653,39 @@ class FlowPoolService extends Service $item->products = $products; + $products = array_keyBy($products, 'product_id'); + if ($settings = $allSettings[$item->id]) { foreach ($settings as $setting) { + $minimum_settings = array_keyBy($setting->minimum_settings ?? [], 'product_id'); + if ($setting->start_at <= $month && $setting->end_at >= $month) { $setting_status = 1; - $minimum_settings = array_keyBy($setting->minimum_settings ?? [], 'product_id'); foreach ($products as $product) { if (!isset($minimum_settings[$product['product_id']])) { + $setting_status = 0; $minimum_settings[$product['product_id']] = [ 'product_id' => $product['product_id'], 'product_name' => $product['product_name'], 'flows' => 0, 'price' => 0 ]; - } else { - $minimum_settings[$product['product_id']]['product_name'] = $product['product_name']; } } - $setting->minimum_settings = array_values($minimum_settings); + foreach ($minimum_settings as $product_id => $minimum_setting) { + if (!isset($products[$product_id])) { + unset($minimum_settings[$product_id]); + } + } } + + foreach ($minimum_settings as $product_id => $minimum_setting) { + $minimum_settings[$product_id]['product_name'] = ProductService::load($product['product_id'])['name']; + } + + $setting->minimum_settings = array_values($minimum_settings); } } else { $settings = collect();