规格图片下载

This commit is contained in:
evoxwht 2023-07-03 11:36:23 +08:00
parent f0e2518685
commit 67bfb5a911
2 changed files with 35 additions and 5 deletions

View File

@ -81,8 +81,6 @@ class ProductCopyJob extends BaseJobs
$copyTaobao = app()->make(CopyTaobaoServices::class);
/** @var StoreProductServices $StoreProductServices */
$StoreProductServices = app()->make(StoreProductServices::class);
/** @var StoreProductAttrValueServices $StoreProductAttrValueServices */
$StoreProductAttrValueServices = app()->make(StoreProductAttrValueServices::class);
//下载图片
$res = $copyTaobao->downloadCopyImage($image);
//获取缓存中的轮播图
@ -97,7 +95,6 @@ class ProductCopyJob extends BaseJobs
$image = $slider_images[0];
$slider_images = $slider_images ? json_encode($slider_images) : '';
$StoreProductServices->update($id, ['slider_image' => $slider_images, 'image' => $image]);
$StoreProductAttrValueServices->update(['product_id' => $id], ['image' => $image]);
} else {
CacheService::set('slider_images_' . $id, $slider_images);
}
@ -106,4 +103,26 @@ class ProductCopyJob extends BaseJobs
}
return true;
}
/**
* 下载商品规格图片
* @param $value_id
* @param $value_image
* @return bool
*/
public function copyAttrImage($value_id, $value_image)
{
try {
/** @var CopyTaobaoServices $copyTaobao */
$copyTaobao = app()->make(CopyTaobaoServices::class);
/** @var StoreProductAttrValueServices $StoreProductAttrValueServices */
$StoreProductAttrValueServices = app()->make(StoreProductAttrValueServices::class);
//下载图片
$res = $copyTaobao->downloadCopyImage($value_image);
$StoreProductAttrValueServices->update($value_id, ['image' => $res]);
} catch (\Throwable $e) {
Log::error('下载商品规格图片失败,失败原因:' . $e->getMessage() . '_' . $e->getFile() . '_' . $e->getLine());
}
return true;
}
}

View File

@ -667,7 +667,7 @@ class StoreProductServices extends BaseServices
ProductCopyJob::dispatch('copySliderImage', [$res->id, $s_image, count($slider_image)]);
} else {
//下载图片
$s_image_down[] = app()->make(CopyTaobaoServices::class)->downloadCopyImage($s_image);
$s_image_down[] = app()->make(CopyTaobaoServices::class)->downloadCopyImage(!is_int(strpos($s_image, 'http')) ? 'http://' . ltrim($s_image, '\//') : $s_image);
}
}
@ -682,9 +682,20 @@ class StoreProductServices extends BaseServices
}
}
//下载商品规格图
$productAttrValue = app()->make(StoreProductAttrValueServices::class);
$attrValueList = $productAttrValue->getColumn(['product_id' => $res->id, 'type' => 0], 'image', 'id');
foreach ($attrValueList as $value_id => $value_image) {
if (sys_config('queue_open', 0) == 1) {
ProductCopyJob::dispatch('copyAttrImage', [$value_id, $value_image]);
} else {
$v_img = app()->make(CopyTaobaoServices::class)->downloadCopyImage(!is_int(strpos($value_image, 'http')) ? 'http://' . ltrim($value_image, '\//') : $value_image);
$productAttrValue->update($value_id, ['image' => $v_img]);
}
}
if (sys_config('queue_open', 0) == 0) {
$this->update($res->id, ['slider_image' => $s_image_down ? json_encode($s_image_down) : '', 'image' => $s_image_down[0]]);
app()->make(StoreProductAttrValueServices::class)->update(['product_id' => $res->id], ['image' => $s_image_down[0]]);
$storeDescriptionServices->saveDescription((int)$res->id, $description);
}
}