From 29a4d01ff49c0bcea82b366c6c6a800b60cb2ef8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Sat, 16 May 2026 17:51:27 +0300 Subject: [PATCH] =?UTF-8?q?fix(import):=20Task=205=20code-review=20?= =?UTF-8?q?=E2=80=94=20final-=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20CsvLeadsPars?= =?UTF-8?q?er=20+=20self::EXPECTED=5FCOLUMNS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Code-review Task 5 (non-blocking 🟑): CsvLeadsParser объявлСн final (симмСтрия с DTO ParsedLeadRow/CsvParseResult, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ€Π½Ρ‹ΠΉ класс Π±Π΅Π· наслСдования); строка ошибки ΠΏΡ€ΠΎ число ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ self::EXPECTED_COLUMNS вмСсто Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° 9. Co-Authored-By: Claude Opus 4.7 (1M context) --- app/app/Services/Import/CsvLeadsParser.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/app/Services/Import/CsvLeadsParser.php b/app/app/Services/Import/CsvLeadsParser.php index 518695f5..6c297865 100644 --- a/app/app/Services/Import/CsvLeadsParser.php +++ b/app/app/Services/Import/CsvLeadsParser.php @@ -17,7 +17,7 @@ use Throwable; * НСвалидныС строки Π½Π΅ Ρ€ΠΎΠ½ΡΡŽΡ‚ парсинг β€” ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² errors[]. * Π€Π°ΠΉΠ» Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ загруТаСтся Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ (MVP: ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΡ‘ΠΌ β€” Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ тысяч строк). */ -class CsvLeadsParser +final class CsvLeadsParser { private const EXPECTED_COLUMNS = 9; @@ -45,7 +45,7 @@ class CsvLeadsParser $cells = str_getcsv($rawLine); if (count($cells) < self::EXPECTED_COLUMNS) { - $errors[] = ['line' => $dataLine, 'message' => 'ОТидалось 9 ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ '.count($cells)]; + $errors[] = ['line' => $dataLine, 'message' => 'ОТидалось '.self::EXPECTED_COLUMNS.' ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ '.count($cells)]; continue; }