Биллинговая система Nodeny
29 Апреля 2024, 20:01:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Массовая обработка платежей  (Прочитано 3401 раз)
Eugene
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 50


Просмотр профиля Email
« : 30 Ноября 2011, 14:56:14 »

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

Карма: 64
Offline Offline

Сообщений: 279



Просмотр профиля WWW
« Ответ #1 : 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_клиента

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

Eugene
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 50


Просмотр профиля Email
« Ответ #2 : 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 где только можно, по возможности дав максимум всем работы. Так что по большому счёту одно дело делаем Подмигивающий
Записан
Eugene
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 50


Просмотр профиля Email
« Ответ #3 : 06 Декабря 2011, 11:04:57 »

smallcms Огромная благодарность за скрипт. Всё чётко, понятно, отработало с первого раза без проблем и глюков!
Считаю, это образец качества работы для сторонних разработчиков! Надеюсь, будем сотрудничать и дальше.
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!