refactor: 产品购买链接上传校验同型号同平台重复问题

This commit is contained in:
2025-02-27 16:53:14 +08:00
parent 6ab6579032
commit 97a2dd8e16

View File

@@ -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']],