|
|
|
- [Запрос на размещения депозита](#1-запрос-на-размещения-депозита)
|
|
|
|
- [Обработчик запроса](#2-данные-поступают-в-контроллер-который-обрабатывает-данный-запрос-на-депозит-где-создается-экземпляр-класса-калькулятора-прокидываются-исходные-данные-и-вызывается-метод-calculate)
|
|
|
|
- [В контроллере создается экземпляр класса калькулятора, передаются входные параметры и вызывается метод для расчета](#3-класс-калькулятора-принимает-исходные-данные-и-выполняет-рассчет)
|
|
|
|
- [Формула для просчета депозита](#31-формула-для-просчета-депозита)
|
|
|
|
- [Формула для просчета депозита для срока 12 месяцев](#32-формула-для-просчета-депозита-для-срока-12-месяцев)
|
|
|
|
- [Формула для просчета депозита с капитализацией](#33-формула-для-просчета-депозита-с-капитализацией)
|
|
|
|
- [Формула просчета налога с капитализацией](#34-формула-просчета-налога-с-капитализацией)
|
|
|
|
- [Формирование результирующей коллекции](#35-формирование-коллекции-депозитов-на-основании-фильтрации-тех-которые-удовлетворяют-условиям-и-тех-которые-не-попали-под-условиеразмытые)
|
|
|
|
|
|
|
|
## 1. Запрос на размещения депозита
|
|
|
|
|
|
|
|
`Запрос осуществляется HTTP методом POST и защищен токеном от CSRF атаки`
|
|
|
|
|
|
|
|
- Сумма вклада
|
|
|
|
- Срок
|
|
|
|
- Тип срока
|
|
|
|
- Валюта
|
|
|
|
- Пополнение
|
|
|
|
- Выплата процентов
|
|
|
|
- Дострокове закрыття
|
|
|
|
|
|
|
|
## 2. Данные поступают в контроллер который обрабатывает данный запрос на депозит, где создается экземпляр класса калькулятора прокидываются исходные данные и вызывается метод `calculate`
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 3. Класс калькулятора принимает исходные данные и выполняет рассчет
|
|
|
|
|
|
|
|
`Выбираются все доступные депозиты в зависимости от условий и пропускаются через прослойку фильтров в зависимости от параметров`
|
|
|
|
|
|
|
|
##### Выборка данных на основании:
|
|
|
|
|
|
|
|
> - суммы вклада
|
|
|
|
> - срока вклада
|
|
|
|
> - типа срока
|
|
|
|
> - валюты
|
|
|
|
> - пополнения
|
|
|
|
> - Выплата процентов
|
|
|
|
> - досрочного закрытия
|
|
|
|
|
|
|
|
##### Дополнительные фильтры:
|
|
|
|
|
|
|
|
> - группировка по депозитам
|
|
|
|
> - фильтрация в зависимости от расположения в дереве сайта страниц депозитов
|
|
|
|
> - максимального процента (если текущая сума вклада больше, чем есть в бд., выбирается тот у которого максимальный процент и на основании него выполняется расчет)
|
|
|
|
|
|
|
|
- метод который этим занимается 
|
|
|
|
|
|
|
|
## 3.1. Формула для просчета депозита
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 3.2. Формула для просчета депозита для срока 12 месяцев
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 3.3. Формула для просчета депозита с капитализацией
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 3.4. Формула просчета налога с капитализацией
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## 3.5. Формирование коллекции депозитов на основании фильтрации тех которые удовлетворяют условиям и тех которые не попали под условие(размытые)
|
|
|
|
|
|
|
|
 |