Биллинговая система Nodeny

Главная категория => Nodeny 49 => Тема начата: Eugene от 30 Ноября 2011, 14:56:14



Название: Массовая обработка платежей
Отправлено: Eugene от 30 Ноября 2011, 14:56:14
Господа, крик души! Все дружно отказались писать модули для массовой корректировки платежей. Когда делаю проект, то ставлю задачи руководствуясь, наверно больше, чувствуя задним местом, чем тех. заданием. Вот оно и произошло.
У нас встало ядро биллинга аж на 8 дней. Тарификация - пропорциональная посуточная. Соответственно, за 8 дней ничего не списалось, а это огромные деньги. Нижайшая просьба к гуру помочь с построением хотя бы правильного SQL-запроса, который корректно сможет выбрать людей одного тарифного плана и сделать перерасчёт (проведение, я так понимаю отрицательного платежа) на заранее фиксированную сумму. Вопрос цены уместен.
P.S.: В принципе, в этой теме можно будет обсудить и другие варианты выхода из этой и других ситуаций с массовыми проведениями платежей, у меня версия 49.32. Заранее спасибо!


Название: Re: Массовая обработка платежей
Отправлено: smallcms от 30 Ноября 2011, 16:43:34
Нижайшая просьба к гуру помочь с построением хотя бы правильного SQL-запроса, который корректно сможет выбрать людей одного тарифного плана
SELECT `id`, `name` FROM `plans2`
SELECT * FROM `users` WHERE `mid`=0 AND `paket`=желаемый_номер_пакета

сделать перерасчёт (проведение, я так понимаю отрицательного платежа) на заранее фиксированную сумму.
Пишется скрипт множественного инсерта на основании полученных предыдущим запросом данных вида:
INSERT INTO pays (mid,cash,type,bonus,category,admin_id,admin_ip,reason,coment,time) VALUES($Mid_клиента,-кол-во_денег,10,'y',105,0,INET_ATON('0.0.0.0'),'Извините! Мы экономим на админах!','Извините! Мы экономим на админах!',$t_время_проведения_платежа)
UPDATE users SET balance=balance-кол-во_денег WHERE id=$Mid_клиента

Что же Вы так на недели в запои уходите... Ещё не всё в этой жизни потеряно! :)


Название: Re: Массовая обработка платежей
Отправлено: Eugene от 30 Ноября 2011, 21:30:05
Нижайшая просьба к гуру помочь с построением хотя бы правильного SQL-запроса, который корректно сможет выбрать людей одного тарифного плана
SELECT `id`, `name` FROM `plans2`
SELECT * FROM `users` WHERE `mid`=0 AND `paket`=желаемый_номер_пакета

сделать перерасчёт (проведение, я так понимаю отрицательного платежа) на заранее фиксированную сумму.
Пишется скрипт множественного инсерта на основании полученных предыдущим запросом данных вида:
INSERT INTO pays (mid,cash,type,bonus,category,admin_id,admin_ip,reason,coment,time) VALUES($Mid_клиента,-кол-во_денег,10,'y',105,0,INET_ATON('0.0.0.0'),'Извините! Мы экономим на админах!','Извините! Мы экономим на админах!',$t_время_проведения_платежа)
UPDATE users SET balance=balance-кол-во_денег WHERE id=$Mid_клиента

Что же Вы так на недели в запои уходите... Ещё не всё в этой жизни потеряно! :)
Где то так, я примерно похожее вывел на основании логов queue из mysql. Сенькс!

Хее, если бы это у меня такие проблемы были... Моя конторка всего лишь проектное агентство для других сетей, я стараюсь пропихнуть nodeny где только можно, по возможности дав максимум всем работы. Так что по большому счёту одно дело делаем ;)


Название: Re: Массовая обработка платежей
Отправлено: Eugene от 06 Декабря 2011, 11:04:57
smallcms Огромная благодарность за скрипт. Всё чётко, понятно, отработало с первого раза без проблем и глюков!
Считаю, это образец качества работы для сторонних разработчиков! Надеюсь, будем сотрудничать и дальше.