getPdo(); $dups = []; if ($companyName !== '') { $dup = findDuplicate($pdo, 'company_name', $companyName); if ($dup) $dups[] = $dup; } $dups = array_merge($dups, checkSingleAccountDuplicate($pdo, $phone !== '' ? 'phone' : '', $phone, $profileUrl)); if ($email !== '') { $dup = findDuplicate($pdo, 'email', $email); if ($dup) $dups[] = $dup; } if ($idNumber !== '') { $dup = findDuplicate($pdo, 'id_number', $idNumber); if ($dup) $dups[] = $dup; } if ($accountId !== '' && $platform !== '') { $dup = findDuplicate($pdo, 'account_id', $accountId, [], $platform); if ($dup) $dups[] = $dup; } if (!empty($dups)) Response::duplicates($dups); // 额外信息(身份证/社媒平台/账号ID/主页链接/产品品类/需求类别)存 extra_info $extra = []; if ($idNumber !== '') $extra['id_number'] = $idNumber; if ($platform !== '') $extra['platform'] = $platform; if ($accountId !== '') $extra['account_id'] = $accountId; if ($profileUrl !== '') $extra['profile_url'] = $profileUrl; if ($category !== '') $extra['category'] = $category; if ($needCategory !== '') $extra['need_category'] = $needCategory; // 至少有一项内容才能录为碎片 if ($companyName === '' && $personName === '' && $phone === '' && $email === '' && !$extra) { Response::error('请至少填写一项内容', 400); } $pdo->prepare( "INSERT INTO preliminary_data (source_type, company_name, industry, registration_number, person_name, contact_phone, contact_email, source_channel, recorded_by, status, extra_info) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, '待处理', ?)" )->execute([ $sourceType, $companyName !== '' ? $companyName : null, $industry !== '' ? $industry : null, $registrationNum !== '' ? $registrationNum : null, $personName !== '' ? $personName : null, $phone !== '' ? $phone : null, $email !== '' ? $email : null, $sourceChannel !== '' ? $sourceChannel : null, // 未选择来源保持空白 $_SESSION['username'] ?? null, $extra ? json_encode($extra, JSON_UNESCAPED_UNICODE) : null, ]); $newId = (int)$pdo->lastInsertId(); logCurrent('add', 'fragment', 'preliminary_data', $newId, [ 'source_type' => $sourceType, 'company_name' => $companyName, 'person_name' => $personName, 'phone' => $phone, 'email' => $email, 'extra' => $extra, ]); Response::success(['id' => $newId], '新增成功');