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

Главная категория => Модули NodenyPlus => Тема начата: Efendy от 06 Февраля 2017, 18:48:14



Название: Модуль группировки списаний
Отправлено: Efendy от 06 Февраля 2017, 18:48:14
Возможно, кто-то использует суточные тарифы (или даже часовые :)), в результате в таблице платежей дофига списаний - 30 каждыц месяц на каждого абонента. Могу написать модуль, который будет группировать такие списания помесячно. В итоге будет одно списание на общую сумму, а в комментариях расшифровка за какой период сколько бабла. Сколько готовы заплатить?


Название: Re: Модуль группировки списаний
Отправлено: Stronglan от 15 Января 2018, 10:57:34
Нужен такой модуль, сколько будет стоить? Цену не предлагаю заранее т.к. не знаю ценообразования на модули.


Название: Re: Модуль группировки списаний
Отправлено: Efendy от 15 Января 2018, 21:51:22
1000 грн


Название: Re: Модуль группировки списаний
Отправлено: Stronglan от 16 Января 2018, 12:19:20
Согласен


Название: Re: Модуль группировки списаний
Отправлено: Efendy от 16 Января 2018, 14:53:53
Как это работает:

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


Название: Re: Модуль группировки списаний
Отправлено: Stronglan от 16 Января 2018, 15:03:22
Объединять будет в группы для каждого месяца, например январь одна группа, февраль еще группа и т.д....?


Название: Re: Модуль группировки списаний
Отправлено: Efendy от 16 Января 2018, 15:38:48
да


Название: Re: Модуль группировки списаний
Отправлено: Stronglan от 16 Января 2018, 18:41:01
Хорошо,  жду тогда..


Название: Re: Модуль группировки списаний
Отправлено: Efendy от 17 Января 2018, 19:01:37
Готово


Название: Re: Модуль группировки списаний
Отправлено: Efendy от 19 Февраля 2018, 13:00:53
Мазафака. Модуль сделал, покупок ноль. Продолжайте меня мотивировать делать модули


Название: Re: Модуль группировки списаний
Отправлено: Cell от 19 Февраля 2018, 15:00:18
Гомосятина, другими словами не скажешь.


Название: Re: Модуль группировки списаний
Отправлено: Warlock от 19 Февраля 2018, 17:34:22
Тада. Нахера заказывать модуль, а потом отмораживаться?


Название: Re: Модуль группировки списаний
Отправлено: Dimasik от 20 Февраля 2018, 20:47:56
Сделай мне модуль для пайпала с рекурентными платежами - куплю сразу


Название: Re: Модуль группировки списаний
Отправлено: elite от 20 Февраля 2018, 22:54:34
так надо по предоплате делать


Название: Re: Модуль группировки списаний
Отправлено: Cell от 20 Февраля 2018, 23:23:58
Тада. Нахера заказывать модуль, а потом отмораживаться?
Проведенное расследование показало, что человек испытывает трудности с пополнением счета личного кабинета, поэтому не может оплатить модуль традиционным способом, но варианты нашлись и он реабилитируется.


Название: Re: Модуль группировки списаний
Отправлено: Stronglan от 21 Февраля 2018, 11:15:22
Приобрел наконец то, надеюсь карма немного отбелилась...


Название: Re: Модуль группировки списаний
Отправлено: Efendy от 21 Февраля 2018, 11:45:27
Сделай мне модуль для пайпала с рекурентными платежами - куплю сразу
в Украине/России можно принимать платежи пайпал?


Название: Re: Модуль группировки списаний
Отправлено: elite от 21 Февраля 2018, 23:09:15
Сделай мне модуль для пайпала с рекурентными платежами - куплю сразу
в Украине/России можно принимать платежи пайпал?
В РФ да


Название: Re: Модуль группировки списаний
Отправлено: vddav от 30 Января 2021, 14:41:50
в общем приобрел его, а он не робыть((
в коде есть момент
Код:
sub main
{
    my($task, $single, $config) = @_;

    my $db = Db->sql(
        "SELECT COUNT(*) AS n, YEAR(FROM_UNIXTIME(time)) AS y, MONTH(FROM_UNIXTIME(time)) AS m, mid ".
        "FROM pays WHERE category=100 AND NOT EXISTS (SELECT 1 FROM users_services WHERE pays.id=pay_id) AND mid=371 ".
        "GROUP BY y, m, mid HAVING n>1"

при вставке этого запроса в мускул:
Код:
mysql> SELECT COUNT(*) AS n, YEAR(FROM_UNIXTIME(time)) AS y, MONTH(FROM_UNIXTIME(time)) AS m, mid 
    -> FROM pays WHERE category=100 AND NOT EXISTS (SELECT 1 FROM users_services WHERE pays.id=pay_id) AND mid=371
    -> GROUP BY y, m, mid HAVING n>1;
Empty set (0.00 sec)


зачем там захардкорено mid=371? без него уж очень долго запрос обрабатывается (после двух минут - прервал).

чего делать что б заработало?
perl install.pl -x делал
perl install -w=www делал
ядро перезапускал
даже сервак перегружал.


Название: Re: Модуль группировки списаний
Отправлено: Cell от 30 Января 2021, 21:37:52
Очевидно что
Код:
AND mid=371
нужно убрать, это юзалось для тестирования.


Название: Re: Модуль группировки списаний
Отправлено: Efendy от 31 Января 2021, 12:58:15
Да, случайно с тестовым кодом залил. Скачай заново - удалил


Название: Re: Модуль группировки списаний
Отправлено: vddav от 03 Февраля 2021, 17:38:46
судя по дате файлов - модулю около двух лет... похоже никто его не использует чтоль?)
как то он корявенько работает - как я понял его логика такова:
1  в начале селект, который выше, выбирает у кого больше одного сгрупированного по году и месяцу платежей (у меня запрос робыл 27 минут)))
ну да ладно, потом он быстрее, наверное, будет)))
2 потом с тем кого выбрал начинается самое веселое) - создается один суммарный платеж в комментарий которого добавлены все комментарии платежей за месяц (типа расшифровка), а сами платежи удаляются. ну вроде ничего), но в реале выглядит как то не очень(.
прицепил скрин - вот раньше напротив каждого "куплета" была сумма - та что в строке стоимость услуги за период. для понимания это кусок скрина этого суммарного платежа)). т.е. фактически простыня не уменьшилась - а стало меньше циферек слева.
получается что стал один платеж но такой же длины) на скрине период с 11 по 19 т.е. примерно столько же вверх  и вниз.
предлагаю ничего не удалять, а при заходе в платежи динамически суммировать и группировать их под "плюсик".


Название: Re: Модуль группировки списаний
Отправлено: Efendy от 03 Февраля 2021, 21:43:06
ну так это уже будет не модуль группировки списаний. Группировка предназначена чтобы вместо 30 посуточных списаний было одно. Может для экспорта кому-то надо. Таких не много сетей, но им надо. Это модуль для них


Название: Re: Модуль группировки списаний
Отправлено: Cell от 03 Февраля 2021, 23:53:29
Это нормальная тема, для тех, у кого абонентов за 5 тысяч и тарифы с посуточным списанием. Через пару лет таблица платежей начинает занимать столько места, что становится страшно чтобы с ней что-то не случилось нехорошее, да и поиск и любые операции с отчетами становятся не комфортными.
Первый раз очень долго отрабатывает, потом все входит в нормальное русло.