docs(supplier): fix naked app/ refs to ../../../app/ in failover plan (lychee gate)

This commit is contained in:
Дмитрий
2026-05-20 13:36:55 +03:00
parent 2bab9a61b9
commit 9729909c31
@@ -99,7 +99,7 @@ cd app && composer test -- --parallel
- [ ] **Step 1.3: Зафиксировать наблюдения в комментариях `SupplierPortalClient.php`.**
Заменить placeholder-докблок [SupplierPortalClient.php:24-28](app/app/Services/Supplier/SupplierPortalClient.php#L24-L28):
Заменить placeholder-докблок [SupplierPortalClient.php:24-28](../../../app/app/Services/Supplier/SupplierPortalClient.php#L24-L28):
```php
/**
@@ -124,10 +124,10 @@ cd app && composer test -- --parallel
Если recon показал, что endpoints/payload-shape ОТЛИЧАЕТСЯ от placeholder:
- В `request()` вызовах ([SupplierPortalClient.php:105](app/app/Services/Supplier/SupplierPortalClient.php#L105), [.php:112](app/app/Services/Supplier/SupplierPortalClient.php#L112), [.php:120](app/app/Services/Supplier/SupplierPortalClient.php#L120), [.php:98](app/app/Services/Supplier/SupplierPortalClient.php#L98)) заменить пути на реальные.
- В `toPayload()` ([.php:346-358](app/app/Services/Supplier/SupplierPortalClient.php#L346-L358)) заменить ключи/формат полей на реальные.
- Если ответ JSON структурно отличается (`id` не в корне) — поправить путь извлечения в `saveProject()` ([.php:107](app/app/Services/Supplier/SupplierPortalClient.php#L107)).
- Если запрос JSON, а не form-urlencoded — добавить `asJson` параметр (паттерн уже есть для `save-report`, [.php:237-262](app/app/Services/Supplier/SupplierPortalClient.php#L237-L262)).
- В `request()` вызовах ([SupplierPortalClient.php:105](../../../app/app/Services/Supplier/SupplierPortalClient.php#L105), [.php:112](../../../app/app/Services/Supplier/SupplierPortalClient.php#L112), [.php:120](../../../app/app/Services/Supplier/SupplierPortalClient.php#L120), [.php:98](../../../app/app/Services/Supplier/SupplierPortalClient.php#L98)) заменить пути на реальные.
- В `toPayload()` ([.php:346-358](../../../app/app/Services/Supplier/SupplierPortalClient.php#L346-L358)) заменить ключи/формат полей на реальные.
- Если ответ JSON структурно отличается (`id` не в корне) — поправить путь извлечения в `saveProject()` ([.php:107](../../../app/app/Services/Supplier/SupplierPortalClient.php#L107)).
- Если запрос JSON, а не form-urlencoded — добавить `asJson` параметр (паттерн уже есть для `save-report`, [.php:237-262](../../../app/app/Services/Supplier/SupplierPortalClient.php#L237-L262)).
Если контракт ИДЕНТИЧЕН placeholder — никаких правок кода, только убрать «placeholder» из докблока.
@@ -1164,7 +1164,7 @@ cd "C:/моя/проекты/портал crm/Документация"
grep -n "alertType\|details" app/app/Mail/SupplierCriticalAlertMail.php
```
Expected: constructor берёт `alertType` и `details` (паттерн из [SyncSupplierProjectsJob.php:88-103](app/app/Jobs/Supplier/SyncSupplierProjectsJob.php#L88-L103)). Если конструктор другой — адаптировать вызовы в Step 4.5.
Expected: constructor берёт `alertType` и `details` (паттерн из [SyncSupplierProjectsJob.php:88-103](../../../app/app/Jobs/Supplier/SyncSupplierProjectsJob.php#L88-L103)). Если конструктор другой — адаптировать вызовы в Step 4.5.
- [ ] **Step 4.7: Run test — PASS.**
@@ -1909,7 +1909,7 @@ Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"
В `app/app/Jobs/SyncSupplierProjectJob.php` заменить `handle()`:
Было ([SyncSupplierProjectJob.php:42-62](app/app/Jobs/SyncSupplierProjectJob.php#L42-L62)):
Было ([SyncSupplierProjectJob.php:42-62](../../../app/app/Jobs/SyncSupplierProjectJob.php#L42-L62)):
```php
public function handle(SupplierPortalClient $client): void
@@ -1970,7 +1970,7 @@ private function buildDto(Project $project, string $platform, string $uniqueKey)
- [ ] **Step 8.2: Update `SyncSupplierProjectsJob` (plural).**
В `app/app/Jobs/Supplier/SyncSupplierProjectsJob.php` ([SyncSupplierProjectsJob.php:66](app/app/Jobs/Supplier/SyncSupplierProjectsJob.php#L66)):
В `app/app/Jobs/Supplier/SyncSupplierProjectsJob.php` ([SyncSupplierProjectsJob.php:66](../../../app/app/Jobs/Supplier/SyncSupplierProjectsJob.php#L66)):
Было:
@@ -1990,9 +1990,9 @@ public function handle(?\App\Services\Supplier\Channel\SupplierProjectChannel $c
Добавить свойство `private \App\Services\Supplier\Channel\SupplierProjectChannel $channel;`.
В `syncOne()` ([SyncSupplierProjectsJob.php:118-185](app/app/Jobs/Supplier/SyncSupplierProjectsJob.php#L118-L185)) заменить прямые вызовы на channel:
В `syncOne()` ([SyncSupplierProjectsJob.php:118-185](../../../app/app/Jobs/Supplier/SyncSupplierProjectsJob.php#L118-L185)) заменить прямые вызовы на channel:
Было ([:159](app/app/Jobs/Supplier/SyncSupplierProjectsJob.php#L159), [:169](app/app/Jobs/Supplier/SyncSupplierProjectsJob.php#L169)):
Было ([:159](../../../app/app/Jobs/Supplier/SyncSupplierProjectsJob.php#L159), [:169](../../../app/app/Jobs/Supplier/SyncSupplierProjectsJob.php#L169)):
```php
$externalId = $client->saveProject($allocation);
@@ -2020,7 +2020,7 @@ if ($isCreate) {
}
```
Добавить catch'и в основной цикл ([:87-114](app/app/Jobs/Supplier/SyncSupplierProjectsJob.php#L87-L114)):
Добавить catch'и в основной цикл ([:87-114](../../../app/app/Jobs/Supplier/SyncSupplierProjectsJob.php#L87-L114)):
```php
catch (\App\Services\Supplier\Channel\Exceptions\TierEscalatedException $e) {
@@ -2077,7 +2077,7 @@ Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"
**Files:**
- Modify: `app/routes/console.php` ([:45-50](app/routes/console.php#L45-L50)).
- Modify: `app/routes/console.php` ([:45-50](../../../app/routes/console.php#L45-L50)).
- Create: `app/tests/Feature/Schedule/SupplierScheduleTest.php`.
- [ ] **Step 9.1: Write failing test.**
@@ -2130,7 +2130,7 @@ Expected: FAIL — текущее расписание 20:30 / 20:15.
- [ ] **Step 9.3: Edit `app/routes/console.php`.**
Заменить ([routes/console.php:45-50](app/routes/console.php#L45-L50)):
Заменить ([routes/console.php:45-50](../../../app/routes/console.php#L45-L50)):
```php
Schedule::job(new RefreshSupplierSessionJob)