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

Главная категория => Nodeny Plus => Тема начата: Efendy от 06 Сентября 2013, 14:08:25



Название: Внимание! Карточки пополнения счета
Отправлено: Efendy от 06 Сентября 2013, 14:08:25
Карточки пополнения счета планируется вынести из ядра N+ в платный модуль. Всем, у кого сейчас стоит N+ я бесплатно добавил этот модуль в его личный кабинет. На самом деле, я его добавил всем, кто зареган и указал свою сеть. Т.е. если у вас еще нет Н+, но данные корректны - в будущем модуль карточек пополнения счета для вас бесплатен.

Через определенное время я удалю из svn этот модуль. Все что вам нужно будет сделать - зайти в личный кабинет, скачать этот модуль и разархивировать в папку /usr/local/nodeny/modules


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Redmen от 27 Сентября 2013, 23:41:16
я немножко доделал этот модуль.
добавил вывод карточек для экспорта
взял с модуля Cards05 для nodeny 49
(всё что после ## My add и до ## My end)
в файл nodeny/web/_cards.pl
Код:
    {
        $actions .= $Url->a('Передать', %url, act=>'cards_move_step1');
        foreach my $act(
            [ good  => 'В работу'],
            [ stock => 'На склад'],
            [ bad   => 'Блокировать'],
        ){
            $actions .= '   '.$Url->a($act->[1], %url, act=>'cards_change_alive', alive=>$act->[0]);
        }
## My add
       $actions .=  '   '.$Url->a('Експорт', %url, act=>'cards_export_csv');
## My end
    }

в файл nodeny/web/operations.pl
Код:
 my %subs = (
    dontshowmess => 1,    # удалить сообщение для админа от суперадмина
    cards_move_step1 => 1,    # выбор администратора для передачи
    cards_move_step2 => 1,    # непосредственная передача карточек
    cards_move_accept => 1,    # подтверждение передачи карточек принимающим админом
    cards_change_alive => 1,    # смена состояния карточек (на складе/можно активировать/заблокированы)
## My add
    cards_export_csv => 1,    # Експорт карточек в csv
## My end
    del_ses_data => 1,
 );
и в конце
Код:
## My add
sub cards_export_csv
{
 my($Url) = @_;
 my $cards = cards_move_preload();
 my $list = '';
  #Запрашиваем идентификатор, активационный код, стоимость карточки, уже отформатированную дату создания и уже отформатированную дату конечного срока активации
 my $db = Db->sql("SELECT `cid` , `cod` , `money` , FROM_UNIXTIME( `tm_create` , '%d.%m.%Y' ) as tm_create, FROM_UNIXTIME( `tm_end` , '%d.%m.%Y' ) as tm_end FROM `cards` WHERE cid>=? AND cid<=?", $cards->{start}, $cards->{end},);
 while( my %p = $db->line )
 {
   $list.="$p{cid}&nbsp;$p{cod}&nbsp;$p{money}&nbsp;$p{tm_create}&nbsp;$p{tm_end}<br>";
 }
 $list or Error('Нет ни одной карточки пополнения счета на експорт.');
 my  $OUT="Content-Type: application/octet-stream\n".
 "Content-Disposition: attachment; filename=nocards.txt\n\n".
 "$list";
 print ($OUT);
 exit;
}
## My end
1;

Может добавить в продакшн?


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 28 Сентября 2013, 07:38:49
Ха-ха. Вчера мне чел предлагал 300 грн за это,  так что ты мог их заработать) Посмотрю сейчас все ли правильно ты написал...


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 28 Сентября 2013, 08:59:14
Экспорт  в csv добавил в стандартную поставку. Напоминаю, что модуль cards вам надо обновить из личного кабинета! В репозитории рабочая, но старая версия, без этой фичи. Я бесплатно подключил этот модуль практически всем, кто был зареган в момент написания первого поста (ну, кроме умников, которые в названии сети писали "название сети").

По поводу твоего кода несколько замечаний:

1) нет проверки прав, любой мог получить коды пополнений. Сделал доступ тока суперадмину
2) в SQL добавил ORDER BY cid
3) http://ru.wikipedia.org/wiki/CSV  - разделитель не пробел, а запятая или точка с запятой


Название: Re: Внимание! Карточки пополнения счета
Отправлено: poxy. от 28 Сентября 2013, 09:05:48
Преогромное Спасибо обоим, + в карму.


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Redmen от 28 Сентября 2013, 13:34:44
Ха-ха. Вчера мне чел предлагал 300 грн за это,  так что ты мог их заработать) Посмотрю сейчас все ли правильно ты написал...
Мне не жалко, поделится бесплатно тем  что может сделать каждый (внимательный)
Извени конешно, что лешил тебя етого кусочка хлеба, я не специально,
кстати, если ты хочеш сделать NoDeny Plus бесплатным,- зделай на офсайте кнопочку Donate, и я лично брошу туда 300 грн на развитие NoDeny Plus


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 28 Сентября 2013, 14:37:17
Ха-ха. Вчера мне чел предлагал 300 грн за это,  так что ты мог их заработать) Посмотрю сейчас все ли правильно ты написал...
Мне не жалко, поделится бесплатно тем  что может сделать каждый (внимательный)
Извени конешно, что лешил тебя етого кусочка хлеба, я не специально,
кстати, если ты хочеш сделать NoDeny Plus бесплатным,- зделай на офсайте кнопочку Donate, и я лично брошу туда 300 грн на развитие NoDeny Plus
Не, ты все правильно сделал. За такую мелочь не хотелось брать деньги, но поскольку я сейчас сильно занят, то деньги - это хорошая вещь, которая довольно точно говорит о полезности фичи - если человек готов за нее заплатить - значит фича действительно нужна. Я и так фичи делаю, но как уже сказал, из-за нехватки времени вынужден делать не все. Насчет бесплатного N+ надо думать. С одной стороны это его популяризирует, с другой стороны к бесплатному не относятся серьезно, да и вроде уже не требуется популяризировать


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Redmen от 28 Сентября 2013, 18:27:11
зделай сертификат подленности типа как у Abills и похожих http://abills.net.ua/wp-content/uploads/2013/07/cert_big1.jpg (http://abills.net.ua/wp-content/uploads/2013/07/cert_big1.jpg)
он правда для Росии, но для многих ето существенно добавит уверености


Название: Re: Внимание! Карточки пополнения счета
Отправлено: vddav от 29 Сентября 2013, 11:53:07
а что, никто не видел пост  #484 в "фичерквест на 52 версию???"  :o
forum.nodeny.com.ua/index.php?topic=1174.msg22152#msg22152
ну лучше поздно чем никогда))))


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 29 Сентября 2013, 18:00:12
а что, никто не видел пост  #484 в "фичерквест на 52 версию???"  :o
forum.nodeny.com.ua/index.php?topic=1174.msg22152#msg22152
ну лучше поздно чем никогда))))
Хм, протупил я. Там у тебя точка конвертится в запятую, сделаю это настраиваемым, как и разделитель, поля и их порядок


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Fredik от 30 Сентября 2013, 14:09:58
а можно сделать как в 49/50 прием карточек админом без подтверждения.
точек реализации много и на каждую точку был создан свой адимин с минимальными привилегиями, теперь приходится переключаться и подтверждать передачу.


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 30 Сентября 2013, 14:12:03
а можно сделать как в 49/50 прием карточек админом без подтверждения.
точек реализации много и на каждую точку был создан свой адимин с минимальными привилегиями, теперь приходится переключаться и подтверждать передачу.
Самое интересное, что при переходе с Н50, такая привилегия сохраняется в БД, и фича поддерживается. Но самой галки нет в настройках привилегий. Сделаю


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Fredik от 04 Октября 2013, 12:24:12
кому нужно вдруг
ставим в мускуле руками нужному админу права
0,301,116,300
его нет в общем списке и он карточки получает без подверждения


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 04 Октября 2013, 13:39:12
Вообще-то, достаточно было это привилегию добавить в языковый файл (там все интуитивно понятно), что я и сделал. Закоммитил


Название: Re: Внимание! Карточки пополнения счета
Отправлено: poxy. от 16 Ноября 2013, 08:08:55
Предлагаю изменить в модуле "пополнить счет" на "пополнить карточкой", а то патчем постоянно приходится менять.


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 27 Февраля 2014, 09:19:20
Предлагаю изменить в модуле "пополнить счет" на "пополнить карточкой", а то патчем постоянно приходится менять.
тоже будет путаница - карточка может ассоциироваться с пластиковой картой


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Pa4ka от 01 Марта 2014, 10:58:09
Не хочу засорять форум напишу в этой теме!
Какими командами продлить срок действия всех карточек пополнения на указзаное количетво дней?
Благодарю!


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Belos от 01 Марта 2014, 11:20:40
UPDATE cards SET etime ='время' WHERE `money` =номинал


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Pa4ka от 01 Марта 2014, 11:28:09
UPDATE cards SET etime ='время' WHERE `money` =номинал
время это до какого времени хочу продлить и в каком формате время?


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Pa4ka от 01 Марта 2014, 11:43:25
Я сделал запрос UPDATE cards SET tm_end = '1425168000'
и срок закончиться через год
спасибо за подсказку


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Dolphin от 03 Мая 2014, 17:08:18
Помогите плз, не могу разобраться с карточками.

Создал админов-"реализаторов".
Сгенерил карточки по группам.
Передал карточки админам-"реализаторам".
Отправил все карточки в работу.

При активации карточек, вижу только общую статистику по карточкам.
Где увидеть статистику по админам, за которыми числятся группы карточек?
Т.е. у кого сколько и каких номиналов осталось.
Как контролировать кол-во денег, которые реализатор должен вернуть?
Спасибо.


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Dolphin от 07 Мая 2014, 13:21:17
Помогите плз, не могу разобраться с карточками.

Создал админов-"реализаторов".
Сгенерил карточки по группам.
Передал карточки админам-"реализаторам".
Отправил все карточки в работу.

При активации карточек, вижу только общую статистику по карточкам.
Где увидеть статистику по админам, за которыми числятся группы карточек?
Т.е. у кого сколько и каких номиналов осталось.
Как контролировать кол-во денег, которые реализатор должен вернуть?
Спасибо.

up


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 07 Мая 2014, 13:36:46
Выбираешь клиентов по фильтру - какую-либо группу либо, скорее всего, тебе понадобится всех. Нажимаешь "отчет". В отчете выбираешь период, кнопка "огонь", затем ссылка "карточки"


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Dolphin от 07 Мая 2014, 13:42:45
Общую статистику я вижу.
Но как вести учет?

Например. Пришел я на точку, забрал 1000грн за реализованные карточки.
Как эти 1000грн учитываются в биллинге?
На руки админа, реализовавшего карточки они не упали.

Как быть?


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Redmen от 07 Мая 2014, 16:36:38
Общую статистику я вижу.
Но как вести учет?

Например. Пришел я на точку, забрал 1000грн за реализованные карточки.
Как эти 1000грн учитываются в биллинге?
На руки админа, реализовавшего карточки они не упали.

Как быть?

ап

было бы хорошо что б деньги падали на счёт админа!
+ к етому сделать у админа параметр "куратор группы" = 1 админ отвечает за 1 (2...н) группу,
прибыль с которой ему и капает + сообшения, к примеру, клиент - админу (куратору), а супер админ видет всё


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 07 Мая 2014, 18:22:01
Код принципиально меняться не будет. Я забыл, что хотел заморозить в виде stable, через несколько дней объявлю


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Redmen от 07 Мая 2014, 19:37:40
О! я как раз думал о том, как переделать систему языков в корень,
то есть у каждого выбран свой язык интерфейса,
и структуру файлов языков, к примеру:
../lang/lang.pm (файл описания языков russian, ukrainian, и.т.д.
../lang/russian/admin.pl user.pl cap.pl ... main.pl (папка языка с ленг файлами билинга и каждого модуля в отдельно файле)
../lang/ukrainian/------"------

и ждал когда объявят stable (к примеру ревизия 250)

П.С. посмотри, может добавишь в коробку
http://forum.nodeny.com.ua/index.php?topic=2384.msg25425#msg25425 (http://forum.nodeny.com.ua/index.php?topic=2384.msg25425#msg25425)

сори за офтоп


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Dolphin от 10 Декабря 2014, 21:39:06
Чтобы не создавать отдельную тему, напишу здесь.

1. Клиенты -> Все записи -> отчет (финотчет) -> Карточки.
Здесь видим пополнения по админам, т.е. по точкам за период.

2. админка -> отчет -> карточки пополнения:  видим табличку пополнения по дням.
Здесь видим сумму по админам (точкам).

Облом в том, что во втором варианте, сумма не равна - сумме всех админов!
Она равна одному из админов, остальные не участвуют в подсчете :(


Название: Re: Внимание! Карточки пополнения счета
Отправлено: DezZ от 18 Мая 2015, 09:20:11
Добрый день. Подскажите пожалуйста, как корректно удалять ненужные/неактуальные, сгенерированные, карточки? Спасибо.


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 18 Мая 2015, 10:16:02
Для безопасности удаление не предусмотрено, только перевод в состояние "заблокировано"


Название: Re: Внимание! Карточки пополнения счета
Отправлено: NodenY45 от 23 Июля 2021, 08:58:11
Модуль перестал работать, при достижении номера 159999. Далее карты не генерируется - выдает "внутреннюю ошибку".
При генерации поштучно, номера идут в разнобой.
Помогите разобраться.


Название: Re: Внимание! Карточки пополнения счета
Отправлено: NodenY45 от 23 Июля 2021, 10:25:13
дополнение  - дебаг

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


Название: Re: Внимание! Карточки пополнения счета
Отправлено: NodenY45 от 23 Июля 2021, 13:08:18
дополнение  - дебаг

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

еще добавил предыдущую страницу


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 24 Июля 2021, 18:34:08
После insert следующий id становится + 10. Модуль откатывает такое, чтобы была неразрывная последовательность, так удобнее с ними работать. Почему оно так делает - может какие-то триггеры на таблицу cards навешены. Покажи пока:
Код:
show create table cards;


Название: Re: Внимание! Карточки пополнения счета
Отправлено: NodenY45 от 24 Июля 2021, 21:08:45
После insert следующий id становится + 10. Модуль откатывает такое, чтобы была неразрывная последовательность, так удобнее с ними работать. Почему оно так делает - может какие-то триггеры на таблицу cards навешены. Покажи пока:
Код:
show create table cards;


Код:
| cards | CREATE TABLE `cards` (
  `cid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `cod` tinytext CHARACTER SET cp1251 NOT NULL,
  `money` float(6,2) NOT NULL DEFAULT 0.00,
  `tm_create` int(11) unsigned NOT NULL DEFAULT 0,
  `tm_end` int(11) unsigned NOT NULL DEFAULT 0,
  `tm_activate` int(11) unsigned NOT NULL DEFAULT 0,
  `tm_move` int(11) unsigned DEFAULT 0,
  `adm_create` mediumint(8) unsigned NOT NULL DEFAULT 0,
  `alive` enum('good','bad','stock','activated') NOT NULL DEFAULT 'good',
  `uid_activate` int(10) unsigned NOT NULL DEFAULT 0,
  `adm_owner` mediumint(9) unsigned NOT NULL DEFAULT 0,
  `adm_move` mediumint(8) unsigned NOT NULL DEFAULT 0,
  PRIMARY KEY (`cid`),
  KEY `r` (`adm_owner`),
  KEY `adm_move` (`adm_move`),
  KEY `adm_move_2` (`adm_move`)
) ENGINE=InnoDB AUTO_INCREMENT=160058 DEFAULT CHARSET=utf8 COMMENT='rev_0' |


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 25 Июля 2021, 10:55:50
В общем, пока причина неизвестна, можно удалить из кода проверку чтоб номера карт шли по-порядку неразрывно. В файле /usr/local/nodeny/modules/cards/create.cards.pl  найди:

Код:
if( $cid_end && ($ok - $cid_end) != 1 )
и замени на:
Код:
if( 0 )
затем perl install.pl -x


Название: Re: Внимание! Карточки пополнения счета
Отправлено: NodenY45 от 25 Июля 2021, 21:11:16
В общем, пока причина неизвестна, можно удалить из кода проверку чтоб номера карт шли по-порядку неразрывно. В файле /usr/local/nodeny/modules/cards/create.cards.pl  найди:

Код:
if( $cid_end && ($ok - $cid_end) != 1 )
и замени на:
Код:
if( 0 )
затем perl install.pl -x

не помогло, проблема осталась, создает не по порядку... куда еще можно смотреть? скрин приложил


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 26 Июля 2021, 09:15:41
Помогло - оно их создает, но не по-порядку, как я и написал


Название: Re: Внимание! Карточки пополнения счета
Отправлено: NodenY45 от 26 Июля 2021, 11:49:26
Помогло - оно их создает, но не по-порядку, как я и написал

так а как же их распечатать для печати? 300 номеров на одну сотню карт? может есть другой вариант решения этой проблемы?


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 26 Июля 2021, 19:39:37
сделать бекап таблицы, удалить таблицу, создать заново, сделать импорт. Иных вариантов не вижу. Я такого никогда не встречал


Название: Re: Внимание! Карточки пополнения счета
Отправлено: NodenY45 от 26 Июля 2021, 21:41:58
сделать бекап таблицы, удалить таблицу, создать заново, сделать импорт. Иных вариантов не вижу. Я такого никогда не встречал

Сделал, та же ситуация ничего не поменялось... :( сидим без карт на конец месяца.

MariaDB 10.5 + cluster, если это может помочь конечно..


Название: Re: Внимание! Карточки пополнения счета
Отправлено: NodenY45 от 26 Июля 2021, 23:17:49
сделать бекап таблицы, удалить таблицу, создать заново, сделать импорт. Иных вариантов не вижу. Я такого никогда не встречал

Сделал, та же ситуация ничего не поменялось... :( сидим без карт на конец месяца.

MariaDB 10.5 + cluster, если это может помочь конечно..

копнул глубже)

пришлось сменить в конфиге кластера вот что:

Код:
[mysqld]
auto_increment_increment=1
wsrep_auto_increment_control=off

по умолчанию стоит так:
Код:
auto_increment_increment=3

Все сгенерировалось. Спасибо!


И еще вопрос, можно ли прописать при создании таблицы в поле CID автоинкремент был например "-2", чтобы не менять параметры кластера? тогда, вроде как, каждый раз будет брать 3-2=1


Название: Re: Внимание! Карточки пополнения счета
Отправлено: Efendy от 27 Июля 2021, 00:22:00
А, вот оно в чем дело. Погуглил, auto_increment_increment не зря стоит = 3. Верни как было. Включай только на время генерации карт.


Название: Re: Внимание! Карточки пополнения счета
Отправлено: NodenY45 от 27 Июля 2021, 10:35:09
А, вот оно в чем дело. Погуглил, auto_increment_increment не зря стоит = 3. Верни как было. Включай только на время генерации карт.

Принял, верну назад.
Но у меня запросы к бд на данный момент идут только к одной ноде.
Не должно быть проблем:)