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