This commit is contained in:
paoloar77
2024-12-19 15:15:06 +01:00
parent 1554f7845c
commit cadd052cb0

View File

@@ -1154,23 +1154,31 @@ function setProductFromGM($article, $initlog, ProductLogger &$passproductLogger)
$prodotti = $prodotti->where('name', $titolo)->get(); $prodotti = $prodotti->where('name', $titolo)->get();
$id = 0; $id = 0;
if (!is_null($prodotti) && $prodotti->count() > 0) { try {
foreach ($prodotti as $prodotto) { if (!is_null($prodotti) && $prodotti->count() > 0) {
if (strtolower($prodotto->name) === strtolower($titolo)) { echo "... cicla prodotti ...";
$found_key = array_search('Autore libro', array_column($prodotto->attributes, 'name')); foreach ($prodotti as $prodotto) {
if (array_diff($prodotto->attributes[$found_key]->options, $article->authors) === array_diff($article->authors, $prodotto->attributes[$found_key]->options)) { if (strtolower($prodotto->name) === strtolower($titolo)) {
$id = $prodotto->id; $found_key = array_search('Autore libro', array_column($prodotto->attributes, 'name'));
$variations = Variation::all($prodotto->id); if (array_diff($prodotto->attributes[$found_key]->options, $article->authors) === array_diff($article->authors, $prodotto->attributes[$found_key]->options)) {
foreach ($variations as $variation) { $id = $prodotto->id;
$found_key_version = array_search('Versione', array_column($variation->attributes, 'name')); $variations = Variation::all($prodotto->id);
if ($variation->attributes[$found_key_version]->option == 'Nuovo') { foreach ($variations as $variation) {
$id = 0; $found_key_version = array_search('Versione', array_column($variation->attributes, 'name'));
if ($variation->attributes[$found_key_version]->option == 'Nuovo') {
$id = 0;
}
} }
} }
} }
} }
} }
} catch (\Exception $e) {
$productLogger->addLog('server_issues', $article->IdArticolo . ' - ' . $article->Titolo . "\n" . $e->getMessage() . "\n");
echo "Errore: " . $e->getMessage();
} }
$datepubbl = DateTime::createFromFormat('Y-m-d H:i:s.u', $article->DataPubblicazione); $datepubbl = DateTime::createFromFormat('Y-m-d H:i:s.u', $article->DataPubblicazione);
$datepubbl_ts = ""; $datepubbl_ts = "";
@@ -1236,6 +1244,8 @@ function setProductFromGM($article, $initlog, ProductLogger &$passproductLogger)
] ]
]; ];
echo "... compila i campi...";
if ($id == 0) { if ($id == 0) {
$versione = 'Nuova versione'; $versione = 'Nuova versione';
$category = Category::where('name', $article->argomento); $category = Category::where('name', $article->argomento);
@@ -1328,10 +1338,14 @@ function setProductFromGM($article, $initlog, ProductLogger &$passproductLogger)
]; ];
echo "... crea prodotto..." . $data;
$product = Product::create($data); $product = Product::create($data);
$idprodotto = $product['id']; $idprodotto = $product['id'];
echo "... crea vaziazione";
$variation = Variation::create($idprodotto, $data1); $variation = Variation::create($idprodotto, $data1);
//dd($variation); //dd($variation);
@@ -2081,6 +2095,8 @@ function setProductFromGM($article, $initlog, ProductLogger &$passproductLogger)
} else { } else {
// ESISTE GIA' IL LIBRO // ESISTE GIA' IL LIBRO
echo "Esiste già il libro...";
$data1 = [ $data1 = [
'regular_price' => $article->PrezzoIvato, 'regular_price' => $article->PrezzoIvato,
@@ -2103,13 +2119,17 @@ function setProductFromGM($article, $initlog, ProductLogger &$passproductLogger)
// Controlla se è in preordine // Controlla se è in preordine
$inprevendita = isArticleInPrevendita($article->IdArticolo, true); $inprevendita = isArticleInPrevendita($article->IdArticolo, true);
if ($inprevendita) { if ($inprevendita) {
echo "...imposta in prevendita !";
setPreOrder($article->IdArticolo, "1", false); setPreOrder($article->IdArticolo, "1", false);
$productLogger->addLog('pre_order', $article->titolo . ' [' . $article->IdArticolo . '] Impostato IN PREVENDITA !' . "\n"); $productLogger->addLog('pre_order', $article->titolo . ' [' . $article->IdArticolo . '] Impostato IN PREVENDITA !' . "\n");
} else { } else {
echo "...disabilita la prevendita !";
setPreOrder($article->IdArticolo, "0", false); setPreOrder($article->IdArticolo, "0", false);
$productLogger->addLog('mettilo in Vendita (no pre-order)', $article->titolo . ' [' . $article->IdArticolo . '] Impostato IN VENDITA !' . "\n"); $productLogger->addLog('mettilo in Vendita (no pre-order)', $article->titolo . ' [' . $article->IdArticolo . '] Impostato IN VENDITA !' . "\n");
} }
} }
echo " ...FINE !";
} catch (\Exception $e) { } catch (\Exception $e) {
$productLogger->addLog('server_issues', $article->IdArticolo . ' - ' . $article->Titolo . "\n" . $e->getMessage() . "\n"); $productLogger->addLog('server_issues', $article->IdArticolo . ' - ' . $article->Titolo . "\n" . $e->getMessage() . "\n");
$productLogger->setAggiornato(true); $productLogger->setAggiornato(true);