'公司名称', 'person_name' => '联系人', 'contact_phone' => '电话', 'contact_email' => '邮箱', ]; /** 计算硬碎片完整度:已填字段数 ÷ 总可填字段数 × 100% */ function hardCompleteness($row) { $filled = 0; $missing = []; foreach (HARD_FIELDS as $field) { if ($row[$field] !== null && trim((string)$row[$field]) !== '') { $filled++; } else { $missing[] = $field; } } $total = count(HARD_FIELDS); $score = $total > 0 ? (int)round($filled / $total * 100) : 0; return ['score' => $score, 'missing' => $missing]; } /** 内容摘要:拼接已有关键信息 */ function hardSummary($row) { $parts = []; if (!empty($row['company_name'])) $parts[] = '公司:' . $row['company_name']; if (!empty($row['person_name'])) $parts[] = '联系人:' . $row['person_name']; if (!empty($row['contact_phone'])) $parts[] = '手机:' . $row['contact_phone']; if (!empty($row['contact_email'])) $parts[] = '邮箱:' . $row['contact_email']; return implode(' ', $parts); }