Commit f828e4f9 authored by hj's avatar hj

更新提交

parent 533d1c59
......@@ -49,13 +49,37 @@ class CheMenuApiService extends PlatformAbstractService
sleep(60);
$this->saveCategory($categoryName, $parentCategoryName, $webPath);
}
}else{
dd(123);
}
$this->requestError($exception);
}
}
public function saveProduct($productContent)
{
try{
$response = $this->getPostClient($this->yybaoApiUrl.'/webpage/chemenu/saveProduct',
[
'productName' => $productContent['productName'],
'iupac' => $productContent['IUPAC'],
'image' => $productContent['image'],
'casInfo' => json_encode($productContent['casInfo']),
'productList' => json_encode($productContent['productList'])
], []);
return $this->returnResponse($response);
}catch(\Throwable $exception){
dd($exception->getMessage());
if(preg_match('/\{(?<response>[\s\S]*?)\}/i', $exception->getMessage(), $response)){
$response = json_decode('{'.$response['response'].'}', true);
if($response && $response['status'] == 429){
sleep(60);
$this->saveProduct($productContent);
}
}
$this->requestError($exception);
}
}
public function returnResponse($apiResponse): bool
{
$response = json_decode($apiResponse, true);
......
......@@ -4,6 +4,7 @@ namespace App\Services\ThirdPlatform;
use App\Repositories\Contracts\ThirdApiPlatformRepository;
use App\Services\ThirdPlatform\Api\CheMenuApiService;
use App\Support\Facades\SimpleLogs;
use App\Support\Traits\Helpers;
class CheMenuService
......@@ -80,13 +81,14 @@ class CheMenuService
}
}
}catch(\Throwable $exception){
throw $exception;
SimpleLogs::writeLog($exception->getMessage(), 'chemenu error', 'error');
}
}
public function productPage($url)
{
try{
$pageUrl = $url['url'];
$responseHtml = $this->apiService->getPage($pageUrl);
//file_put_contents('./test3.html', $responseHtml);
......@@ -130,11 +132,11 @@ class CheMenuService
}catch(\Throwable $exception){
list($name, $content) = explode(':', $info);
}
$productPageContent['casInfo'][] = [$name =>$content];
$productPageContent['casInfo'][$name] = $content;
}
}
}
$productPageContent['casInfo'] = array_unique($productPageContent['casInfo'],SORT_REGULAR);
//$productPageContent['casInfo'] = array_unique($productPageContent['casInfo'],SORT_REGULAR);
$productListDivRegx = '/<div[\s]*?class=[\\\'|\"]col-md-12 col-lg-12 col-sm-12 product-details-size[\\\'|\"]>[\s\S]*?<tbody>(?<productList>[\s\S]*?)<\/tbody>/i';
if(preg_match_all($productListDivRegx, $responseHtml, $productList)){
......@@ -154,9 +156,11 @@ class CheMenuService
}
}
}
dd($productPageContent);
$this->apiService->saveProduct($productPageContent);
}
}
}catch(\Throwable $exception){
SimpleLogs::writeLog($exception->getMessage(), 'chemenu error', 'error');
}
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment