checkYesterday.php
unknown
php
a year ago
15 kB
3
Indexable
Never
<?php include "../../db.php"; $user_id = 0; $_POST = (json_decode(file_get_contents('php://input'), true)); $currentDate = date("Y/m/d"); $backDate = urlencode(date('Y-m-d\TH:i:sP', strtotime('-0 day', strtotime($currentDate)))); $stat=0; if (isset($_GET["status"])) { $stat=$_GET["status"]; } $storesStmt = $db->prepare("SELECT * FROM wildberries_store order by id desc"); if($storesStmt->execute()){ $storesResult = $storesStmt->get_result(); while($rowStore = $storesResult->fetch_object()){ $supplyStmt = $db->prepare("SELECT * FROM wildberries_supply where store_id = ? order by id desc"); $supplyStmt->bind_param("i", $rowStore->id); $supplyStmt->execute(); $supplyResult = $supplyStmt->get_result(); $rowSupply = $supplyResult->fetch_object(); $deal = execRest("https://suppliers-api.wildberries.ru/api/v3/orders/new", $rowStore->api_key); for ($i=0; $i < count($deal["orders"]); $i++) { $code = $deal["orders"][$i]["id"]; $firstName = ""; $secondName = ""; $totalPrice = substr($deal["orders"][$i]["price"], 0, -2); $currencyCode = $deal["orders"][$i]["currencyCode"]; $paymentMode = "wildberries"; $address = $deal["orders"][$i]["address"]["street"]; $town = $deal["orders"][$i]["address"]["city"]; $status = 0; $phone = ""; $chrtId = $deal["orders"][$i]["chrtId"]; $warehouseId = $deal["orders"][$i]["warehouseId"]; $userStatus = 0; echo "code: ".$code. "\n"; echo $deal["orders"][$i]["skus"][0]."\n"; echo $deal["orders"][$i]["supplyId"]."\n"; echo $deal["orders"][$i]["warehouseId"]."\n"; echo $deal["orders"][$i]["nmId"]."\n"; $sticker = ""; $stickerQr = execRestWithParams("https://suppliers-api.wildberries.ru/api/v3/orders/stickers?type=svg&width=58&height=40", array( "orders" => array( $code ) ), $rowStore->api_key); $freeManager = 1; $stock = execRestWithParams( "https://suppliers-api.wildberries.ru/api/v3/stocks/".$deal["orders"][$i]["warehouseId"], array( "skus" => array( $deal["orders"][$i]["skus"][0] ) ), $rowStore->api_key ); echo "<br>";echo "<br>"; print_r(json_encode($stock)); $amount = isset($stock["amount"]) ? $stock["amount"] : 0; $managerCountStmt = $db->prepare("SELECT `manager_id`, count(manager_id) AS ct FROM orders WHERE id > 0 GROUP BY `manager_id` HAVING COUNT(manager_id) > 0 ORDER BY ct ASC"); if($managerCountStmt->execute()){ $managerCountResult = $managerCountStmt->get_result(); $rowManagerCount = $managerCountResult->fetch_object(); if (isset($rowManagerCount->manager_id)) { $freeManager = $rowManagerCount->manager_id; } else { $usersStmt = $db->prepare("SELECT * FROM users"); if($usersStmt->execute()) { $usersResult = $usersStmt->get_result(); while($usersRow = $usersResult->fetch_object()){ $arr[] = array(); $arr = array("id"=>$usersRow->id); } for ($l=0; $l < count($arr); $l++) { // echo "dop - ".$arr[$l]; } } } echo "<br> free - $freeManager";echo "<br>"; } $stocks = execRest("https://suppliers-api.wildberries.ru/api/v2/stocks?skip=0&take=10&search=".$deal["orders"][$i]["skus"][0], $rowStore->api_key); // $cardResponse["result"]["cards"][0]["nomenclatures"][0]["nmId"]["variations"][0]; $color = ""; $photo = ""; // $cardNumber = $cardResponse["result"]["cards"][0]["nomenclatures"]; // for ($s=0; $s < count($cardNumber); $s++) { // if ($cardNumber[$s]["variations"][0]["chrtId"] == $chrtId) { // for ($p=0; $p < count($cardNumber[$s]["addin"]); $p++) { // if ($cardNumber[$s]["addin"][$p]["type"] == "Фото") { // $photo = $cardNumber[$s]["addin"][$p]["params"][0]["value"]; // } else { // // $photo = ""; // } // if ($cardNumber[$s]["addin"][$p]["type"] == "Основной цвет") { // $color = $cardNumber[$s]["addin"][$p]["params"][0]["value"]; // } else { // // $color = ""; // } // } // $nmId = 0; // $nmId = $cardNumber[$s]["nmId"]; // break; // } else { // // $color = $cardResponse["result"]["cards"][0]["nomenclatures"][0]["addin"][1]["params"][0]["value"]; // // $photo = $cardResponse["result"]["cards"][0]["nomenclatures"][0]["addin"][2]["params"][0]["value"]; // } // } if (!isset($photo)) { $photo = ""; } if (!isset($color)) { $color = ""; } $orderProvider = 2; // echo "<br>"; // echo "<br>"; // echo $nmId; // echo "<br>"; // echo "<br>"; $orderStmt = $db->prepare("SELECT * FROM orders WHERE code = ? group by id DESC"); $orderStmt->bind_param("s", $deal["orders"][$i]["id"]); if($orderStmt->execute()){ $orderResult = $orderStmt->get_result(); $rowOrder = $orderResult->fetch_object(); if (!isset($rowOrder->id)) { $bar = $deal["orders"][$i]["skus"][0]; $sortBody = array( "vendorCodes" => array( $bar ) ); $subOrderAnswer = execRestWithParams("https://suppliers-api.wildberries.ru/content/v1/cards/filter", array( "vendorCodes" => array( $deal["orders"][$i]["article"] )), $rowStore->api_key); $name="Нет названия"; // echo (json_encode($subOrderAnswer["data"][$i]["characteristics"])); $color=""; for ($k=0; $k < count($subOrderAnswer["data"]); $k++) { foreach ($subOrderAnswer["data"][$k]["mediaFiles"] as $key => $value) { if(strlen($value) == 0) { continue; } echo "got photo ".$value; $photo = $value; break; } // print_r($subOrderAnswer["data"][$i]["characteristics"]); for ($j=0; $j < count($subOrderAnswer["data"][$k]["characteristics"]); $j++) { foreach ($subOrderAnswer["data"][$k]["characteristics"][$j] as $key => $value) { // print_r($value); // print_r($key); if($key == "Наименование") { $name = $value; } } } } $nmId = $deal["orders"][$i]["nmId"]; mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $offersStmt = $db->prepare(" INSERT INTO orders(code, firstName, lastName, price, paymentMethod, address, city, status, phone, manager_id, orderProvider, unique_id, barcode, sticker, nmId, stock, store_id, photo, color, chrtId, userStatus, currencyCode, qr, supply_id, warehouse_id) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?, ?)"); $offersStmt->bind_param("sssisssssiisssiiissiiisss", $code, $firstName, $secondName, $totalPrice, $paymentMode, $address, $town, $status, $phone, $freeManager, $orderProvider, $nmId, $deal["orders"][$i]["skus"][0], $phone, $nmId, $amount,//change this its stocks $rowStore->id, $photo, $color, $chrtId, $userStatus, $currencyCode, $stickerQr["stickers"][0]["file"], $nmId, $warehouseId ); if($offersStmt->execute()){ echo true; addSubOrder($name, $code, $rowStore->api_key); } else { http_response_code(500); die("Error: can't add your offer to database"); } $photo=""; $nmId=0; } else { // if ($rowOrder->photo == "" || $rowOrder->photo == null) { // } echo "Dublicate order"; $bar =$deal["orders"][$i]["skus"][0]; // $subOrderAnswer = execRest("https://suppliers-api.wildberries.ru/api/v2/stocks?skip=0&take=10&search=$bar", $rowStore->api_key)["stocks"][0]["article"]; $sortBody = array( "vendorCodes" => array( $bar ) ); $nmId = $deal["orders"][$i]["nmId"]; echo "art ". $deal["orders"][$i]["article"]; $stickQr = $stickerQr["stickers"][0]["file"]; // echo $stickQr; $stick = ""; echo "sdddd\n\n\n"; // echo $stickQr; // if(strlen($rowOrder->qr) != 0) { // $stickQr = $rowOrder->qr; // } // if(strlen($rowOrder->sticker) != 0) { // $stick = $rowOrder->sticker; // } $offersStmt = $db->prepare(" UPDATE orders SET status = ?, barcode = ?, sticker = ?, qr = ?, nmId = ?, stock = ?, photo = ?, color = ?, userStatus = ?, currencyCode = ?, article = ? WHERE code = ?"); $offersStmt->bind_param("sssssissiisi", $status, $bar, $stickQr, $stickQr, $nmId, //real one $amount, $photo, $color, $userStatus, $currencyCode, $deal["orders"][$i]["article"], $code, ); if($offersStmt->execute()){ echo "updated!"; } else { http_response_code(500); die("Error: can't update your offer!"); } } $photo=""; $nmId = 0; } } } } function addSubOrder($barcode, $ouid, $token) { include "../../db.php"; $quantity = 1; $subPrice = 0; $subStmt = $db->prepare(" INSERT INTO subOrder(name, related_code, price, quantity) VALUES(?,?,?,?)"); $subStmt->bind_param("ssii", $barcode, $ouid, $subPrice, $quantity, ); if($subStmt->execute()){ echo "Added suborder"; // return $subOrderAnswer; } else { echo $barcode; http_response_code(500); die("Error: can't add suborder to database"); return null; } } function execRestWithParams($url, $params, $token) { // echo json_encode($params); $queryUrl = $url; $queryData = http_build_query($params); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_SSL_VERIFYPEER => 1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $queryUrl, CURLOPT_POSTFIELDS => json_encode($params, JSON_NUMERIC_CHECK) )); $headers = array( "Authorization: ".$token, "Content-Type: application/json; charset=utf-8", ); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $res = curl_exec($curl); curl_close($curl); return json_decode($res, true); } function execRest($url, $token) { $queryUrl = $url; // $queryData = http_build_query($params); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_POST => 0, CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $queryUrl, // CURLOPT_POSTFIELDS => json_encode($params) )); $headers = array( "Authorization: ".$token, "Content-Type: application/vnd.api+json", ); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $res = curl_exec($curl); curl_close($curl); return json_decode($res, true); } function execPostRest($url, $data, $token) { $queryUrl = $url; // $queryData = http_build_query($params); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $queryUrl, CURLOPT_POSTFIELDS => json_encode($data) )); $headers = array( "Authorization: ".$token, "Content-Type: application/vnd.api+json", ); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $res = curl_exec($curl); curl_close($curl); return json_decode($res, true); } ?>