Async foreach loop
Merhaba, API tarafında aşağıda bulunan parça ile ürün durumu kontrol ediyorum.Ancak ürün listelemesi artınca bu işlemde hayli geç cevap döndürmekte.Senkronizasyon olarak ilk işlem bitmeden istek gönderemiyorum apiye. Bu konuda yardımınıza ihtiyacım var. Teşekkürler ..
$productList = array();
$productIdList = array();
$menuList = $getir->menuList();
foreach ($menuList["response"] as $keys) {
foreach ($keys["menuSubCategories"] as $product) {
foreach ($product["menuProducts"] as $val) {
if ($val["status"] == 200 || $val["status"] == "200") {
array_push($productList, $val);
}
}
}
}
foreach ($productList as $keys) {
$array = [
"id" => $keys["id"],
"status" => $keys["status"],
"price" => $keys["price"]
];
array_push($productIdList, $array);
}
$productRowCount = false;
foreach ($productIdList as $prod) {
if ($prod["price"] == $Description["price"]) {
$pro = $getir->getMenuProduct($prod["id"]);
foreach ($pro["response"]["barcodes"] as $productBarcode) {
if ($productBarcode == $barcode) {
$productRowCount = true;
if ($Json["status"] == "true") {
$status = 100;
$statusMessage = "Ürün başarıyla satışa açıldı!";
} else {
$status = 200;
$statusMessage = "Ürün başarıyla satışa kapatıldı!";
}
$array =
[
'status' => $status
];
}
}
}
}
if ($productRowCount == false) {
$JSON = [
"status" => "warning",
"message" => "Ürün onay bekliyor!"
];
}
@munzevi yanıtın için teşekkür ederim.En azından bir rahatlama gerçekleşti request kısmında. Getir entegrasyonu yapıyorum ancak o kadar saçma bir bodyleri var ki anlatamam.Menüye ürün gönderdiğinde menü tarafında farklı id onay aldıktan sonra farklı id veriliyor.Menü tarafında ürünün barkodu verilmiyor sadece id gönderilmekte o kadar saçma ki yani :) Eşleşme sağlamak içinde menüde bulununan tüm idlere istek gönderiyorum hangisinden gelen barkod eşleşme sağlıyorsa onun id değerini kayıt ediyorum tüm sistem bu.Menüde ürünün barkodunu sağlasa hiç bu kadar gereksiz postlara gerek kalmıyacak ama işte. Tekrar teşekkür ediyorum