Merge branch '20260116'

This commit is contained in:
2026-01-23 14:18:29 +08:00
4 changed files with 363 additions and 13 deletions
+26 -4
View File
@@ -11,6 +11,7 @@ use app\common\service\UsedCarService;
use app\common\utils\crawl\service\UsedCarCrawlSingle;
use app\common\utils\pdf\service\MpdfDriver;
use support\exception\BusinessException;
use support\Log;
use support\Request;
class UsedCarController extends BaseController
@@ -128,6 +129,25 @@ class UsedCarController extends BaseController
return $data;
}
/**
* 移动端链接抓取
* @param Request $request
*/
public function crawlMobileCar(Request $request)
{
try {
$urlShare = $request->get('url');
$finalUrl = (new UsedCarCrawlSingle())->getFinaUrl($urlShare);
$request->setGet('url', $finalUrl);
$data = $this->crawlCar($request);
return $data;
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
public function crawlCar(Request $request)
{
try {
@@ -135,15 +155,16 @@ class UsedCarController extends BaseController
if (empty($url)){
throw new BusinessException('url不能为空');
}
$info = (new UsedCarCrawlSingle())->crawlCar($url);
//$info = (new UsedCarCrawlSingle())->crawlCar($url);
$info = $this->service->selectCraw($url);
$data = [
'user_id' => $request->user['id'],
'product_name' => $info['title'],
'price' => $info['price']<200 ? $info['price']*10000 : $info['price'],
'source_place' => $info['source_place'],
'displacement' => $info['capacity'], //排量
'displacement' => $info['capacity']??'', //排量
'mileage' => $info['usage_mileage']*10000, //里程
'power' => $info['horsepower'], //马力
'power' => $info['horsepower']??'', //马力
'body_color' => $info['body_color'],
'images' => $info['image'],
'image_pull' => $info['image_pull'],
@@ -166,7 +187,8 @@ class UsedCarController extends BaseController
if (str_contains($e->getMessage(), '404 Not Found')){
return $this->error('车辆已下架或找不到页面');
}
return $this->error($e->getMessage());
Log::error('crawlCar fail',['param' => $request->get('url'),'message' => $e->getMessage().$e->getFile().$e->getLine()]);
return $this->error($e->getMessage().$e->getFile().$e->getLine());
}
}