Hi, ich hab mir bis lang immer alles zurecht gelesen und gesucht, aber nun komm ich einfach nicht weiter. Es geht um den Import vom EK also Einkaufspreis Brutto sowie Netto in die DB direkt. Hintergrund ist, das ich die eine CSV datei, die wird umgewandelt in eine SQL Datei usw. Jetzt teste ich gerade am Code für die Änderungen an den gesamten Preisen.
Ich hab alle hinbekommen, bis auf den EK. Habe alles probiert von purchasePrice.net bis purchase_price purchasePrices.net usw. Aber ich bekomme die Daten nicht die DB per JSON.
Das sieht zum Teil so aus.
p.price,
'$.cb7d2554b0ce847cd82f3ac9bd1c0dfca.net', 4.2),
'$.cb7d2554b0ce847cd82f3ac9bd1c0dfca.gross', 4.18),
'$.cb7d2554b0ce847cd82f3ac9bd1c0dfca.listPrice.net', 7.67),
'$.cb7d2554b0ce847cd82f3ac9bd1c0dfca.listPrice.gross', 7.67,
'$.cb7d2554b0ce847cd82f3ac9bd1c0dfca.purchasePrice.net', 45,
'$.cb7d2554b0ce847cd82f3ac9bd1c0dfca.purchasePrices.gross', 45
)
WHERE p.EAN = '4010337092896';
Ich würde mich über eine Antwort freuen.
Gruß
Florian
Schade keiner ne idee? oder geht es einfach nicht?
Im Admin-Breich sieht der Payload für den EK-Preis so aus:
{
"key": "write",
"action": "upsert",
"entity": "product",
"payload": [
{
"id": "0000000000000000000000e75620fa1d",
"versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425",
"purchasePrices": [
{
"currencyId": "b7d2554b0ce847cd82f3ac9bd1c0dfca",
"net": 22.966386554622,
"linked": true,
"gross": 27.33
}
]
}
]
}
Property-Name ist also purchasePrices
und das json-Format eine Liste von Preisen:
purchasePrices = [
{
"currencyId": "",
"net": 0,
"gross": 0,
"linked": false
}
]
das obrige ist aber per MYSQL also SQL direkt, daher war die Frage wie ich es per SQL direkt machen kann. Da ich nicht 30.000 Artikel habe, wo ich sagen kann ok 5 -9 Stunden wäre ok, damit es nachts lädt. Es sind schon 500tsd und aufwärts
'$.cb7d2554b0ce847cd82f3ac9bd1c0dfca.net', 4.2),
'$.cb7d2554b0ce847cd82f3ac9bd1c0dfca.gross', 4.18),
'$.cb7d2554b0ce847cd82f3ac9bd1c0dfca.listPrice.net', 7.67),
'$.cb7d2554b0ce847cd82f3ac9bd1c0dfca.listPrice.gross', 7.67,
Die Funktionieren ohne Probleme.
Nur eben
'$.cb7d2554b0ce847cd82f3ac9bd1c0dfca.purchasePrice.net', 45,
'$.cb7d2554b0ce847cd82f3ac9bd1c0dfca.purchasePrices.gross', 45
nicht, da ich dafür wohl nicht den richtigen Namen habe ?
Ich update alle Preise in einem Rutsch ungefähr so:
$this->connection->executeStatement("
UPDATE product p
INNER JOIN new_prices_external np on np.product_id = p.id
SET p.puchase_prices = JSON_REPLACE(
concat('$.c', ?, '.gross'), np.ek_price,
concat('$.c', ?, '.net'), np.ek_price / ?
)
"), [
$currencyId,
$currencyId,
$taxRate
];
1 „Gefällt mir“