Top3Service
Спільний модуль project-application-api для Top 3 операторів проєкту.
Задача
- За кожен із трьох останніх місяців підсумувати
sumProjectStatisticsRelation заoperatorId. - Відсортувати операторів за сумою та повернути перші три місця.
- Додати ім’я й nickname оператора зі Stack.
Frontend API
| № | Операція | Endpoint |
|---|---|---|
| 1 | Top 3 операторів за поточний і два попередні місяці | GET /projects/{project}/top-3 |
Один місяць повертає month і operators[]. Оператор містить operatorId, name, nickname та sum.
Рейтинг будується для всього проєкту. Оператор, тімлід і top manager бачать той самий результат.
Поточна реалізація
| Проєкт | Top 3 |
|---|---|
| Golden | ✅ |
| Prime | — |
| Chathouse | ✅ |
| Udate | ✅ |
Golden, Chathouse та Udate вже використовують однаковий розрахунок зі statistics relations. У Prime гілка запиту існує, але результат не розраховується.
У проєктних сервісах project-* цю логіку повторювати не потрібно: після імпорту ProjectStatisticsRelation Top3Service працює для будь-якого проєкту.
Сезонний рейтинг за виконаними цілями нових пар описаний окремо в NewYearTopListService.