Функционал простенького биллинга

Все вопросы/проблемы по установке и использовании.
Ответить
dracul
Сообщения: 28
Зарегистрирован: 12 фев 2016, 00:14
Имя: Михаил
Откуда: Москва

Функционал простенького биллинга

Сообщение dracul »

Добрый день!

У нас есть база клиентов. Хотим сделать отдельную таблицу платежей. В нее будут заноситься все поступившие платежи от всех клиентов, а также списания.

В связи с этим есть 2 задачи:

1. Выводить в поле "Баланс" у клиента сумму всех операций по данному клиенту. Путем выборки из таблицы всех операций по номеру договора или иному значению, и их сложения.

2. Производить ежемесячно списание платежа с баланса абонента путем автоматического внесения расходной записи в таблицу всех операций.

Есть ли возможность такую функцию реализовать путем имеющегося или запланированного в версии 2.3 функционала? Например, повторяющимися заданиями и MySQL запросами?
dracul
Сообщения: 28
Зарегистрирован: 12 фев 2016, 00:14
Имя: Михаил
Откуда: Москва

Re: Функционал простенького биллинга

Сообщение dracul »

Разверну мысль.

Я давно уже сам хочу написать пару внешних скриптов.

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

Второй скрипт запускается раз в сутки. В таблице клиентов по очереди для каждой строки получает значение поля "договор", затем в таблице Список операций находит все записи, где поле "договор" соответствует полученному ранее значению, получает из всех записей значение поля "значение", суммирует и вставляет в поле "Баланс" в записи в таблице клиентов.
Для этого скрипта возможность ручного запуска при необходимости (если, напрмиер, делали коррекцию и нужно обновить баланс).

Так вот, анонсирован же функционал MySQL запрос для более сложных связей между сущностями. даст ли этот новый функционал возможность хотя бы отчасти реализовать описанное выше?
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Функционал простенького биллинга

Сообщение support »

Бета версия доступна для тестирования, пробуйте, полагаю что с MySQL запросом должно получится.
dracul
Сообщения: 28
Зарегистрирован: 12 фев 2016, 00:14
Имя: Михаил
Откуда: Москва

Re: Функционал простенького биллинга

Сообщение dracul »

Судя по всему, подсчет текущего баланса по списку операций получится с помощью MySQL запроса. Но там тоже такой минус получается, что если ставить галку "выполнять динамически", то, как я понимаю, при каждом обращении к таблице будет выполняться запрос для каждой записи, а это может быть заметно долго, если много записей.

А вот ежемесячное списание, в принципе, с помощью повторяющихся действий можно сделать, но придется делать для каждого клиента отдельное повторяющееся задание. Получится очень громоздко все это, так как клиентов много.
Ответить