Skip to content

Conversation

Tomix1
Copy link
Owner

@Tomix1 Tomix1 commented Oct 1, 2025

Нужно реализовать REST-endpoint в Laravel, который принимает на вход список предложений поставщиков и число N (потребность).

Входные данные (JSON):
{
"need": 76,
"offers": [
{ "id": 111, "count": 42, "price": 13, "pack": 1 },
{ "id": 222, "count": 77, "price": 11, "pack": 10 },
{ "id": 333, "count": 103, "price": 10, "pack": 50 },
{ "id": 444, "count": 65, "price": 12, "pack": 5 }
]
}

Логика:

  • Определить оптимальный план закупки.
  • Если решения нет — вернуть пустой массив.

Выходные данные (JSON):
[
{ "id": 111, "qty": 1 },
{ "id": 222, "qty": 20 },
{ "id": 333, "qty": 50 },
{ "id": 444, "qty": 5 }
]

Требования:

  1. Endpoint должен находиться в Api\V1\Procurement Controller.
  2. Валидация входных данных через FormRequest.
  3. Основную бизнес-логику вынести в отдельный сервис (например, Procurement Service).
  4. Добавить тесты (Feature и Unit), покрывающие разные варианты входных данных:
    • успешное построение плана,
    • невозможность собрать нужное количество,
    • ситуация с неподходящей кратностью pack.

@Tomix1 Tomix1 self-assigned this Oct 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant