refactor: 产品购买链接上传校验同型号同平台重复问题
This commit is contained in:
@@ -120,6 +120,15 @@ class ProductPurchaseLink
|
|||||||
->where('platform', 'in', $platforms_name)
|
->where('platform', 'in', $platforms_name)
|
||||||
->column('id', 'platform');
|
->column('id', 'platform');
|
||||||
|
|
||||||
|
// 表格中spu的平台重复次数
|
||||||
|
$spu_platform_map = [];
|
||||||
|
foreach ($xlsx_data as $v) {
|
||||||
|
if (!isset($spu_platform_map[$v['spu'] . '_' . $v['platform']])) {
|
||||||
|
$spu_platform_map[$v['spu'] . '_' . $v['platform']] = 0;
|
||||||
|
}
|
||||||
|
$spu_platform_map[$v['spu'] . '_' . $v['platform']]++;
|
||||||
|
}
|
||||||
|
|
||||||
$data = [];
|
$data = [];
|
||||||
$errors = [];
|
$errors = [];
|
||||||
$chunks = array_chunk($xlsx_data, 500, true);
|
$chunks = array_chunk($xlsx_data, 500, true);
|
||||||
@@ -140,6 +149,10 @@ class ProductPurchaseLink
|
|||||||
$errors[] = sprintf("第%d行,型号不存在", $r);
|
$errors[] = sprintf("第%d行,型号不存在", $r);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if ($spu_platform_map[$it['spu'] . '_' . $it['platform']] > 1) {
|
||||||
|
$errors[] = sprintf("第%d行,型号【%s】和平台【%s】有重复", $r, $it['spu'], $it['platform']);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
$items[] = [
|
$items[] = [
|
||||||
'language_id' => request()->lang_id,
|
'language_id' => request()->lang_id,
|
||||||
'product_id' => $products_map[$it['spu']],
|
'product_id' => $products_map[$it['spu']],
|
||||||
|
|||||||
Reference in New Issue
Block a user