This commit is contained in:
paoloar77
2024-08-23 15:11:20 +02:00
parent 46fafb5c78
commit e877e7096e

View File

@@ -4,6 +4,7 @@ namespace App\Console\Commands;
use App\Mylog; use App\Mylog;
use App\Order as AppOrder; use App\Order as AppOrder;
use App\Services\ProductLogger;
use Codexshaper\WooCommerce\Facades\Order; use Codexshaper\WooCommerce\Facades\Order;
use Illuminate\Console\Command; use Illuminate\Console\Command;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
@@ -42,14 +43,35 @@ class OrderUpdateGm extends Command
*/ */
public function handle() public function handle()
{ {
$all_orderswoo = new Collection(); $productLogger = new ProductLogger(null, 'checkorders', true);
$page = 1; $page = 1;
$orderupdated = 0; $orderupdated = 0;
try {
$all_orderswoo = new Collection(); // Assicurati che all_orderswoo sia inizializzato se non l'hai già fatto.
$page = 1; // Inizializza la pagina
do { do {
$orderswoo = Order::get($options = ['per_page' => 100, 'page' => $page,'status'=> ["pending","processing","on-hold"]]); $options = ['per_page' => 100, 'page' => $page, 'status' => ["pending", "processing", "on-hold"]];
$this->info('Fetching orders with options: ' . json_encode($options));
$orderswoo = Order::get($options); // Usa 'get' invece di 'all'
// Controlla se il risultato è una collezione o un errore
if (empty($orderswoo) || $orderswoo->isEmpty()) {
$productLogger->addLog('Error', 'No orders returned.');
break; // Esci dal ciclo in caso di errore
}
// Merge le nuove ordinazioni nella collezione esistente
$all_orderswoo = $all_orderswoo->merge($orderswoo); $all_orderswoo = $all_orderswoo->merge($orderswoo);
$page++; $page++;
} while($orderswoo->count() > 0); } while ($orderswoo->count() > 0); // Continua finché ci sono ordini
} catch (\Exception $e) {
if (isset($productLogger)) {
$productLogger->addLog('Error', $e->getMessage());
$productLogger->setLogandSendEmail('Ordini');
}
}
foreach ($all_orderswoo as $orderwoo) { foreach ($all_orderswoo as $orderwoo) {
@@ -68,10 +90,8 @@ class OrderUpdateGm extends Command
// sum the number updated of order to the log // sum the number updated of order to the log
$orderupdated++; $orderupdated++;
} }
} } elseif ($orderwoo->status == 'on-hold') {
elseif ($orderwoo->status == 'on-hold'){
$this->info("Order #{$orderwoo->id} is on-hold, checking if it needs to be processed..."); $this->info("Order #{$orderwoo->id} is on-hold, checking if it needs to be processed...");
if ($ordergm->FlagSospeso == 0) { if ($ordergm->FlagSospeso == 0) {
$this->info("Order #{$orderwoo->id} needs to be processed, updating WooCommerce..."); $this->info("Order #{$orderwoo->id} needs to be processed, updating WooCommerce...");
@@ -83,10 +103,8 @@ class OrderUpdateGm extends Command
// sum the number updated of order to the log // sum the number updated of order to the log
$orderupdated++; $orderupdated++;
} }
} }
} } else {
else{
$this->info("Order #{$orderwoo->id} not found in GM, skipping..."); $this->info("Order #{$orderwoo->id} not found in GM, skipping...");
} }
} }
@@ -101,11 +119,11 @@ class OrderUpdateGm extends Command
Mail::raw($log, function ($message, $orderupdated) { Mail::raw($log, function ($message, $orderupdated) {
$message->to(Mylog::getEmail()); $message->to(Mylog::getEmail());
$message->subject(Mylog::getSubjectEmail("Ordini Aggiornati su GM:" . $orderupdated)); $message->subject(Mylog::getSubjectEmail("Ordini Aggiornati su GM:" . $orderupdated));
}); });
}
if ($productLogger) {
$productLogger->setLogandSendEmail('Aggiornamento Ordini');
}
}
} }
} }