推送
This commit is contained in:
@@ -421,7 +421,70 @@ class UsedCarDetailService
|
||||
]);
|
||||
|
||||
// 更新车辆状态
|
||||
return UsedCarDetail::where('id', $carId)->update(['status' => $auditStatus]);
|
||||
$result = UsedCarDetail::where('id', $carId)->update(['status' => $auditStatus]);
|
||||
|
||||
// 审核通过后自动推送到WordPress
|
||||
$pushResult = ['success' => true, 'message' => ''];
|
||||
if ($auditStatus == 1) {
|
||||
$pushResult = $this->pushToWordpressAfterAudit($carId);
|
||||
|
||||
// 推送失败,将车辆状态修改为3
|
||||
if (!$pushResult['success']) {
|
||||
UsedCarDetail::where('id', $carId)->update(['status' => 3]);
|
||||
}
|
||||
}
|
||||
|
||||
// 返回审核结果和推送结果
|
||||
return [
|
||||
'audit_success' => true,
|
||||
'push_success' => $pushResult['success'],
|
||||
'push_message' => $pushResult['message'],
|
||||
'message' => $pushResult['success'] ? '审核通过并推送成功' : '审核通过,但推送失败:' . $pushResult['message'],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核通过后推送车辆到WordPress
|
||||
* @return array ['success' => bool, 'message' => string]
|
||||
*/
|
||||
private function pushToWordpressAfterAudit(int $carId): array
|
||||
{
|
||||
try {
|
||||
// 获取启用的WordPress站点
|
||||
$site = \app\common\model\WordpressSite::where('status', 1)->first();
|
||||
if (!$site) {
|
||||
$msg = '没有启用的WordPress站点';
|
||||
Log::warning('WordPress推送失败:' . $msg, ['car_id' => $carId]);
|
||||
return ['success' => false, 'message' => $msg];
|
||||
}
|
||||
|
||||
// 检查是否已推送过
|
||||
$existing = \app\common\model\WordpressUsedCar::where('wp_site_id', $site->id)
|
||||
->where('used_car_id', $carId)
|
||||
->where('status', 1)
|
||||
->first();
|
||||
if ($existing) {
|
||||
$msg = '车辆已推送,跳过';
|
||||
Log::info('WordPress推送:' . $msg, ['car_id' => $carId]);
|
||||
return ['success' => true, 'message' => $msg];
|
||||
}
|
||||
|
||||
// 调用推送服务
|
||||
$wpService = new \app\common\service\WordpressSiteService();
|
||||
$wpService->createProductForNewSite($site, $carId);
|
||||
|
||||
Log::info('WordPress推送成功', ['car_id' => $carId, 'site_id' => $site->id]);
|
||||
return ['success' => true, 'message' => ''];
|
||||
|
||||
} catch (\Throwable $e) {
|
||||
$msg = $e->getMessage();
|
||||
Log::error('WordPress推送失败', [
|
||||
'car_id' => $carId,
|
||||
'error' => $msg,
|
||||
'trace' => $e->getTraceAsString(),
|
||||
]);
|
||||
return ['success' => false, 'message' => $msg];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user