重新推送
This commit is contained in:
@@ -875,6 +875,15 @@ class UsedCarDetailService
|
||||
*/
|
||||
public function crawlAndStore(string $url, int $userId): array
|
||||
{
|
||||
// 检查该用户是否已抓取过此URL的车辆
|
||||
$existingCar = UsedCarDetail::where('user_id', $userId)
|
||||
->where('source_url', $url)
|
||||
->first();
|
||||
|
||||
if ($existingCar) {
|
||||
throw new \Exception('该车辆信息已存在,无需重复抓取');
|
||||
}
|
||||
|
||||
// 1. 抓取二手车基本信息
|
||||
$usedCarCrawl = new \app\common\utils\crawl\service\UsedCarCrawlSingle();
|
||||
$info = $usedCarCrawl->crawlCar($url);
|
||||
@@ -991,4 +1000,31 @@ class UsedCarDetailService
|
||||
$mileage = str_replace(['万公里', '万'], '', $mileage);
|
||||
return floatval($mileage) * 10000;
|
||||
}
|
||||
|
||||
/**
|
||||
* 重新推送单辆失败的车到WordPress
|
||||
*
|
||||
* @param int $carId 车辆ID
|
||||
* @return int 成功加入队列返回1,否则返回0
|
||||
*/
|
||||
public function retryPush(int $carId): int
|
||||
{
|
||||
$car = UsedCarDetail::where('id', $carId)
|
||||
->where('status', 5) // 只处理推送失败的
|
||||
->first();
|
||||
|
||||
if (!$car) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 更新状态为待推送
|
||||
$car->update(['status' => 3]);
|
||||
|
||||
// 加入队列
|
||||
\Webman\RedisQueue\Redis::send('wordpress-push', ['car_id' => $carId]);
|
||||
|
||||
Log::info('车辆重新加入推送队列', ['car_id' => $carId]);
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user