Я пытался какое-то время решить проблему планирования приложения, с которым я работал. Эта проблема заключается в следующем ...Алгоритм расписания
Первый раз список получает заселена:
- будет смотреть на все контакты, которые пользователь сделал «Active» в списке контактов.
- Для каждого из них следует посмотреть их выбранную контактную частоту (например, x дней, x недель, х месяцев).
- будет сравнивать их «последнюю дату контакта» с сегодняшней датой. Для любого контакта, где разница между этими датами больше назначенной контактной частоты, лицо является кандидатом, который должен быть добавлен в список Агента.
Порядок, как люди будут появляться в списке Agent должен придерживаться следующих правил:
- Контактов с длинной щелью между последним контактом выше в списке
- Контактов отмечен как избранные перейти в верхней части списка
- пользователи isApp приоритет
из этого списка «кандидатов», алгоритм Шоул d затем также просматривайте историю контактов для каждого. Для контактов со следующей назначенной контактной частотой следуйте этим правилам
- Каждый x дней - не учитывайте историю. Просто добавьте, когда они просрочены
- Каждые x недель - если контакт уже в течение последних 3 дней, не показывайте и пропустите в следующий раз, когда они будут готовы связаться.
- Каждые х месяцев - если контакт уже в течение последних 7 дней, не отображается, и пропустите их в следующий раз, когда они будут связаны.
- Каждый х год - если вы связались в прошлом месяце, не показывайте и пропустите в следующий раз, когда они будут готовы связаться.
звучит как «какая-то работа для меня». – morels