抓取确认
This commit is contained in:
@@ -326,12 +326,31 @@ class UsedCarDetailController extends BaseController
|
||||
}
|
||||
|
||||
/**
|
||||
* 抓取懂车帝二手车数据并保存
|
||||
* 保存懂车帝二手车数据
|
||||
*
|
||||
* @param Request $request
|
||||
* @return \support\Response
|
||||
*/
|
||||
public function crawlAndStore(Request $request)
|
||||
public function crawlStore(Request $request)
|
||||
{
|
||||
try {
|
||||
$params = $request->post();
|
||||
$userId = $request->user['id'] ?? 0;
|
||||
$result = $this->service->crawlStore($params, $userId);
|
||||
return $this->success($result, '保存成功,WordPress推送任务已加入队列,将在后台处理');
|
||||
} catch (\Throwable $e) {
|
||||
return $this->error($e->getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 抓取懂车帝二手车数据
|
||||
*
|
||||
* @param Request $request
|
||||
* @return \support\Response
|
||||
*/
|
||||
public function crawl(Request $request)
|
||||
{
|
||||
try {
|
||||
$url = $request->post('url');
|
||||
@@ -350,9 +369,20 @@ class UsedCarDetailController extends BaseController
|
||||
throw new BusinessException('用户未登录');
|
||||
}
|
||||
|
||||
$result = $this->service->crawlAndStore($url, $userId);
|
||||
$result = $this->service->crawl($url, $userId);
|
||||
if(!empty($result['images'])){
|
||||
$images = explode(',',$result['images']);
|
||||
$ossService = new OssService();
|
||||
$images_pull = [];
|
||||
foreach ($images as $image){
|
||||
$images_pull[] = $ossService->generatePrivateUrl($image);
|
||||
}
|
||||
$result['images_pull'] = $images_pull;
|
||||
}else{
|
||||
$result['images_pull'] = [];
|
||||
}
|
||||
|
||||
return $this->success($result, '抓取成功,WordPress推送任务已加入队列,将在后台处理');
|
||||
return $this->success($result, '抓取成功');
|
||||
} catch (\Throwable $e) {
|
||||
Log::error('抓取懂车帝二手车失败', [
|
||||
'url' => $request->post('url'),
|
||||
|
||||
@@ -880,7 +880,7 @@ class UsedCarDetailService
|
||||
* @return array 返回创建的车辆数据
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function crawlAndStore(string $url, int $userId): array
|
||||
public function crawl(string $url, int $userId): array
|
||||
{
|
||||
// 检查该用户是否已抓取过此URL的车辆
|
||||
$existingCar = UsedCarDetail::where('user_id', $userId)
|
||||
@@ -946,7 +946,38 @@ class UsedCarDetailService
|
||||
return !is_array($value);
|
||||
});
|
||||
$data = array_merge($data, $params);
|
||||
return $data;
|
||||
|
||||
// 5. 创建记录
|
||||
/*$car = UsedCarDetail::create($data);
|
||||
|
||||
// 6. 将推送任务发送到队列
|
||||
try {
|
||||
\Webman\RedisQueue\Redis::send('wordpress-push', [
|
||||
'car_id' => $car->id,
|
||||
]);
|
||||
Log::info('WordPress推送任务已加入队列', ['car_id' => $car->id]);
|
||||
} catch (\Throwable $e) {
|
||||
Log::error('WordPress推送任务加入队列失败', [
|
||||
'car_id' => $car->id,
|
||||
'error' => $e->getMessage(),
|
||||
]);
|
||||
}
|
||||
|
||||
return $car->toArray();*/
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存懂车帝二手车数据
|
||||
*
|
||||
* @param string $url 懂车帝二手车链接
|
||||
* @param int $userId 用户ID
|
||||
* @return array 返回创建的车辆数据
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function crawlStore(array $data, int $userId): array
|
||||
{
|
||||
$data['user_id'] = $userId;
|
||||
// 5. 创建记录
|
||||
$car = UsedCarDetail::create($data);
|
||||
|
||||
|
||||
+2
-1
@@ -92,7 +92,8 @@ Route::group('/common', function () {
|
||||
Route::any('/audit/stats', [app\common\controller\UsedCarDetailController::class, 'auditStats']);
|
||||
|
||||
// 抓取相关
|
||||
Route::any('/crawl/store', [app\common\controller\UsedCarDetailController::class, 'crawlAndStore']);
|
||||
Route::any('/crawl', [app\common\controller\UsedCarDetailController::class, 'crawl']);
|
||||
Route::any('/crawl/store', [app\common\controller\UsedCarDetailController::class, 'crawlStore']);
|
||||
|
||||
// 重新推送
|
||||
Route::any('/retry/push', [app\common\controller\UsedCarDetailController::class, 'retryPush']);
|
||||
|
||||
Reference in New Issue
Block a user