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

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 2 [3] 4
  Печать  
Автор Тема: Баланс  (Прочитано 15467 раз)
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« Ответ #30 : 12 Апреля 2018, 01:20:10 »

Стас, є проблема з переносом dropdown_values.
В таблицю data0 заносить, але в даних клієнта не відображаєтсья. Здається тре щось доробити ))
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #31 : 12 Апреля 2018, 07:58:41 »

мало инфы. у меня работает
Записан
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« Ответ #32 : 12 Апреля 2018, 18:05:28 »

Ну по перше, на мою думку ця процедура вже не дуже коректна, якщо використовуються ключі
foreach my $f( keys %dropdown_values )
{
    foreach my $value( keys %{$dropdown_values{$f}} )
    {
        $value or next;
        $test && next;
        Db->do("INSERT INTO dictionary SET type=?, k=?, v=? ON DUPLICATE KEY UPDATE v=?",
                $dropdown_fields{$f}, $value, $value, $value);
    }
}
та
my $sql = 'uid=?';
    my @sql_param = ($uid);
    foreach my $f( keys %c )
    {
        $f =~ /^_/ or next;
        $sql .= ", $f=?";
        push @sql_param, $d[$c{$f}];
    }
    my $rows = Db->do("INSERT INTO data0 SET $sql ON DUPLICATE KEY UPDATE $sql", @sql_param, @sql_param);

Воно тупо записує імя вулиці і не враховуютсья використання ключів. Тобто, якщо використовується параметр city, то він вже має бути ключем до street.

Але не зважаючи на це все, в особистій картоці клієнта, не підтягуються з таблиці data0 данні
mysql> select _adr_street,_adr_city from  data0 where uid=84;
+--------------------------------------------------------+--------------------+
| _adr_street                                            | _adr_city          |
+--------------------------------------------------------+--------------------+
| 60                                                     |                    |
| 117                                                    |                    |
| 117                                                    |                    |
| 117                                                    |                    |
| 117                                                    |                    |
| Соборності (Леніна)                                    | Миронівка          |
| Соборності (Леніна)                                    | Миронівка          |
| Соборності (Леніна)                                    | Миронівка          |
| Соборності (Леніна)                                    | Миронівка          |
| Миронівка:Соборності (Леніна)                          | Миронівка          |
+--------------------------------------------------------+--------------------+

Як правильно передати данні, що б воно зафіксувало і підтягнуло данні. Також, як правильно додати і точку топології?

SELECT id FROM users WHERE name='117'
Строк: 1. Время выполнения sql: 0.00007100 сек

UPDATE users SET fio = 'Соломяний Артем Віталійович', contract = '117', name='117', balance='284.92' WHERE name='117'
Строк: 1. Время выполнения sql: 0.0004 сек

INSERT INTO data0 SET uid='84', _adr_telefon='42 4 68, 8 067 456 16 18', _adr_sn='', _adr_city='Миронівка', _adr_street='Миронівка:Соборності (Леніна)', _adr_house='21', _adr_room='66' ON DUPLICATE KEY UPDATE uid='84', _adr_telefon='42 4 68, 8 067 456 16 18', _adr_sn='', _adr_city='Миронівка', _adr_street='Миронівка:Соборності (Леніна)', _adr_house='21', _adr_room='66'
Строк: 1. Время выполнения sql: 0.0015 сек

INSERT INTO users_trf SET uid='84' ON DUPLICATE KEY UPDATE uid=uid
Строк: 1. Время выполнения sql: 0.00006900 сек

DELETE FROM pays WHERE mid='84' AND cash<>0
Строк: 1. Время выполнения sql: 0.0010 сек

DELETE FROM users_services WHERE uid='84'
Строк: 1. Время выполнения sql: 0.0007 сек

SELECT * FROM users WHERE name='117'
Строк: 1. Время выполнения sql: 0.0001 сек

INSERT INTO pays SET time=UNIX_TIMESTAMP()-1, creator='other', category=5, mid='84', cash='284.92', comment='Перенос баланса со старого биллинга'
Строк: 1. Время выполнения sql: 0.0004 сек

Подключение услуги

SELECT * FROM services WHERE service_id='10' LIMIT 1
Строк: 1. Время выполнения sql: 0.00008700 сек

SELECT 1 FROM v_services WHERE uid='84' AND service_id='10' AND id<>'0' LIMIT 1
Строк: 0. Время выполнения sql: 0.0001 сек

SELECT * FROM users u JOIN data0 d ON u.id=d.uid WHERE u.id='84'  LIMIT 1
Строк: 1. Время выполнения sql: 0.0002 сек

SELECT (in1+in2+in3+in4+out1+out2+out3+out4) AS traf FROM users_trf WHERE uid='84'
Строк: 1. Время выполнения sql: 0.00007300 сек

start transaction

SELECT UNIX_TIMESTAMP(LAST_DAY(FROM_UNIXTIME('1523487520') - INTERVAL 1 MONTH) + INTERVAL 1 DAY) AS tm1, UNIX_TIMESTAMP(LAST_DAY(FROM_UNIXTIME('1523487520')) + INTERVAL 1 DAY) AS tm2, UNIX_TIMESTAMP(LAST_DAY(FROM_UNIXTIME('1523487520')) + INTERVAL '1' DAY) AS tm_end
Строк: 1. Время выполнения sql: 0.00006700 сек

INSERT INTO pays SET time=UNIX_TIMESTAMP(), mid='84', cash='0', category='100', reason='$VAR1 = {\'start_traf\' => 2659720108,\'tm_end\' => 1525122000,\'tm_start\' => 1523487520,\'cash\' => 0};', comment='[1020]HiNet95', creator_ip=INET_ATON('0.0.0.0'), creator='kernel', creator_id='1'
Строк: 1. Время выполнения sql: 0.00008400 сек

UPDATE users SET balance=balance+('0') WHERE id='84' LIMIT 1
Строк: 1. Время выполнения sql: 0.0001 сек

INSERT INTO users_services SET uid='84', service_id='10', next_service_id='10', pay_id='7249991', tags=',inet,speed,start_traf=2659720108,',radius_attr='', tm_start='1523487520', tm_end=UNIX_TIMESTAMP(LAST_DAY(FROM_UNIXTIME('1523487520')) + INTERVAL '1' DAY)
Строк: 1. Время выполнения sql: 0.00008600 сек

commit


INSERT INTO dictionary SET type='street', k='Миронівка:Соборності (Леніна)', v='Миронівка:Соборності (Леніна)' ON DUPLICATE KEY UPDATE v='Миронівка:Соборності (Леніна)'
Строк: 1. Время выполнения sql: 0.0001 сек

INSERT INTO dictionary SET type='city', k='Миронівка', v='Миронівка' ON DUPLICATE KEY UPDATE v='Миронівка'
Строк: 1. Время выполнения sql: 0.00006500 сек

Ну й така ремарка, якщо в данних переноса немає ір, навіщо скрипту створювати статику?
Записан
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« Ответ #33 : 13 Апреля 2018, 00:14:34 »

Не знаю, чи це вірно, але так відображається у клієнта
    my $rows = Db->do("INSERT INTO data0 SET $sql ON DUPLICATE KEY UPDATE $sql", @sql_param, @sql_param);
    $rows < 1 && die 'sql error';
    $rows = Db->do("UPDATE data0 SET $sql WHERE uid=?", @sql_param,$uid);
    $rows < 1 && die 'sql error';
« Последнее редактирование: 13 Апреля 2018, 01:13:06 от tom » Записан
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« Ответ #34 : 26 Апреля 2018, 18:39:40 »

Так відображається, але затераєш всю історію. Я так розумію, не підтягує останню ревізію данних з таблиці, а бере перд останню. Десь тре зробити апдейт?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #35 : 27 Апреля 2018, 12:34:53 »

Проапдейтся до 50.33 - в ней нет ревизий
Записан
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« Ответ #36 : 28 Апреля 2018, 02:32:06 »

Щось не зрозумів? Я говорю про Н+
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #37 : 29 Апреля 2018, 20:21:03 »

Ты ж говоришь про ревизию - нет такого понятия в н+.  Думал ты пытаешься что-то свое сделать с переводом абонов из н50
Записан
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« Ответ #38 : 29 Апреля 2018, 23:04:53 »

Ну не знаю як це вірно назвати, але в таблиці data0 - не один запис, який відповідає клієнту. Якби був один - то проблем би не було. Чому так - я не вкурсі ))
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #39 : 30 Апреля 2018, 09:33:50 »

Эта проблема после переноса дополнительных абонов со старой версии?
Записан
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« Ответ #40 : 12 Июня 2018, 04:02:34 »

Вітаю.
Прошу підказати, як в переносі за допомогою csv.pl зробити платіж "перенос со старого білінга" при параметрі my $do_balance_pay  = 2; без урахування вартості підключаємої послуги. Тобто, в файлі з данними переноса вказано баланс 200 грн, згідно б логіці та пояснені у файлі, мається зробитися платіж переноса 200 грн і знятися 200 грн (наприклад) за підключену послугу. Тобто у клієтнта 0 на рахунку. Насправді при переносі відбувається трішки інше. Переноситься платіж 400 грн і знімається 200. Відповідно на балансі 200 грн.

Дякую

З.И. Знайшов в коді, прибрав +service_price. Прошу Стаса пояснити логіку, чому додавалась вартість послуги? Можливо я щось не так зрозумів?
З.И.2 - здається зрозумів. В мене переносився баланс без уархування зняття за послугу, з старого білінга данні з поля balance, тому логіку Стаса можна зрозуміти. Можливо варто в коді вказати параметр баланс з урахування чи без вартості послуги.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #41 : 12 Июня 2018, 16:13:37 »

З.И. Знайшов в коді, прибрав +service_price. Прошу Стаса пояснити логіку, чому додавалась вартість послуги? Можливо я щось не так зрозумів?
З.И.2 - здається зрозумів. В мене переносився баланс без уархування зняття за послугу, з старого білінга данні з поля balance, тому логіку Стаса можна зрозуміти. Можливо варто в коді вказати параметр баланс з урахування чи без вартості послуги.
Так и есть. Можно сделать параметр
Записан
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« Ответ #42 : 14 Июня 2018, 14:24:46 »

Вітаю.
Стас, а як включити логи в скрипта csv.pl. В коді бачу, що параметр з файлом є, а файла немає )
Просто глюк якийсь, не перенесло всі записи з файла. Хочу знайти причину
Записан
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« Ответ #43 : 14 Июня 2018, 17:34:28 »

Причину знайшов вроді, але б логи хобілося б мати.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #44 : 14 Июня 2018, 18:01:22 »

Причину знайшов вроді, але б логи хобілося б мати.
-v или -vv
Записан
Страниц: 1 2 [3] 4
  Печать  
 
Перейти в:  

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