PHP - альтернативный выбор электронной почты на основе установленного расписания - PullRequest
1 голос
/ 30 июня 2011

Хорошо, вот ситуация, я ищу какой-то общий вклад в логику этого класса.Целью этого класса является: запрос базы данных расписания для сотрудников, которые в настоящее время работают, и выбор адреса электронной почты одного человека, который работает в настоящее время.

Этот класс вызывается procmail при каждом получении электронного письма и служит procmail одним письмом для пересылки.

Когда работает более одного человека, второе полученное письмо должно отправляться наследующий человек, третье электронное письмо следующему, и переберите их как таковые - доставляя их одинаково.Если никто не работает в определенное время, список активных работников составляется так, чтобы все работали на следующий день или в тот же день соответственно.

У меня этот класс наполовину готов, и у менявремя придумывает логику равной доставки.Я полагаю, что буду регистрировать каждое электронное письмо, отправленное в таблицу базы данных, ограничив его примерно 10 записями, и просто отправлять его по электронной почте тому, кто меньше всего показывает.Однако это будет не совсем точно.Ни один не выбрал бы случайное электронное письмо.

Я не ищу кого-то, кто мог бы написать это для меня, я просто искал вклад в лучший логический метод;может быть, кто-то сталкивался с подобной ситуацией раньше?

Дизайн таблицы предельно прост, выглядит так:

date |имя |электронная почта |time_in |time_out

Конечно, есть другие таблицы, которые обрабатывают ручные переопределения, и таблица, которую я упоминал о регистрации отправленных писем.Я могу опубликовать текущий класс, который у меня есть, но, как я уже сказал, он наполовину сделан, и логика класса довольно проста - кроме этой конкретной части.

Любая идея или ввод приветствуется!

1 Ответ

1 голос
/ 30 июня 2011

Как насчет - сохранить счетчик количества электронных писем, полученных каждым человеком, отсортировать по порядку, чтобы определить, кто получит следующий, а затем сбросить все счетчики до нуля в начале каждой смены.

...