[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Программа на php по распределению дивидендов.
сириус15
Требуется написать прогу на php по распределению дивидендов (бонусов) среди "пайщиков-концессионеров" по определенной формуле и алгоритму.

Основное требование: Использовать БД нельзя! Все на текстовых файлах.
В принципе - не обязательно на php, можно на чем угодно, хоть "екзешник" на выходе, но результат ее работы должен быть легко помещаем на сервер "парой кликов" для обозрения участниками...

Описание.

Есть некое "общество", члены которого за свою деятельность поощряются бонусами (или дивидендами, называйте как хотите).
Т.е. список. Идентификация - по е-мейл и паролю. Новых членов регистрирует Админ (юзеры только могут только зайти посмотреть состояние своего счета).

При создании счета Админ заполняет определенные поля, жмет "создать" - по указанному емейлу отправляется письмо Щастья с рыбой-текстом, указанием доступа и бла-бла...

Периодически Админ по результатам работы раздает бонусы, которые должны распределяться между членами согласно списка.
При этом Список (очередность) формируется по времени внесения последнего изменения!
Т.е. самый свежий (вновь созданный или "отредактированный") оказывается во главе списка (условный №1), за ним - тот, кто раньше им был и т.д.
Распределение бонусов начинается всегда с самого "молодого" по времени создания или изменения.

У каждого члена списка есть "лимит" - т.е. предел, до которого он может получать бонусы. По достижению этой цифры его счет должен "закрываться" (т.е. в дальнейших дележах не участвовать), при этом ему направляется письмо с текстом - мол, все, пипец...
И соответственно "текущий счет".

Распределение бонусов идет по определенной формуле:
Вносимое количество - это целое число (например 10000)
У каждого юзера есть ЛИМИТ (например 50000). и образуется (в результате создания новых счетов и редактирований) - МЕСТО В ОЧЕРЕДИ (списке).
При внесении бонусов так же задается определенный коэффициент-делитель ( КД - тоже целое число). (например 150)
/ - это "делить"
Формула: (ЛИМИТ (этого члена)/ № в очереди / КД ) + 1
(дробь после запятой отбрасываем)
Т.е. на количество бонусов прямо пропорционально влияет Лимит счета члена, и обратно пропорционально - его место в очереди.

Екземпл,

Есть 5 членов с лимитами 50.000, 50.000, 100.000, 20.000, 300.000 (точка тут просто обозначение тыщ...)

вносим бонус 10000. Начинаем дележ...

Берем первого (самого молодого) юзера с лимитом 50000, его очередь №1, делитель 150.
(50000 / 1 / 150) + 1 = 334 бонуса.
Прибавляем эти 334 к текущему счету члена и вычитаем их из 10.000 вносимых бонусов...
Проверяем, остались ли еще бонусы? Типа - на отрицательно ли стало?

Берем второго: 50000/2/150 +1 = 167 бонуса
Прибавляем на его текущий счет 167, и вычитаем 167 из остатка бонусов...
Проверяем остаток...

Третьего: 100000/3/150 +1 = 223...
Четвертого: 20000/4/150 +1 = 34...
Пятого: 300000/5/150 +1 = 401...

Если в конце списка бонусы еще есть - начинаем по второму кругу.
Если запас бонусов стал отрицательным, прекращаем дележ...
Отслеживать точно "ноль" остатка - не надо. Это достаточно валюнтаристски вносимая цифра, поэтому что 10000, что 10843 - разницы нет. Но будет кому то лишних 7 бонусов, хрен с ними.

Дизайна - интерфейса особого не нужно - прога исключительно утилитарная, ДСП, ну разве что какой то минимальный для юзеров - созерцать свои счета (лимит, текущий, текущий номер в очереди... ).
Можно форму для общения с админом...

Не так что бы срочно, но ввиду примитивности задачи - дней 7-10?
Ваши коммерческие предложения?
zelenuy
Пирамида что ли? Это срок smile.gif
AllesKlar
Пирамиды запрещены законом.
Но, за хорошее вознаграждение возьмусь написать.
Но, будет запрятана приписка к каждому письму: "Вы участвуете в противозаконной махинации, ваши личные данные переданны в прокуротуру."

_____________
[продано копирайтерам]
zelenuy
AllesKlar
biggrin.gif я тоже подумывал свой проект создать, даже почти до делал за маскировав ее под онлайн игру, но так и не решился запустить ее в свет)
сириус15
Не хочется грубить и переубеждать никого не собираюсь.
Но и чушь молоть не надо.
Система работает уже 3-й год и никаких проблем с законом не имеет.
Просто контакт с прогером, написавшим предыдущую версию давно потерян.
Нужно небольшое изменение алгоритма дележа доходов, вот и все.
Работой по привязке к чужому коду не гружу, что б "типа должна читать предыдущий формат", все "с нуля". Ручками таблицу перебьем.

Профею делать особо нечего. Пред. версия была написана за пару дней, на готовых библиотеках. А разница той от этой - в перетасовке очереди (там тупо по мере открытия) и формуле дележа - там фикс. цифра, тут надо делать несколько арифметических действий.

Это задача для программируемого калькулятора. Только с ним проблемно в сеть выходить...
Работа эта не сложная, поэтому "хорошее вознаграждение" безгранично в пределах разумных размеров.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.