ant0xa 4 Опубликовано: 2020-08-20 13:15:26 Share Опубликовано: 2020-08-20 13:15:26 помогите, пожалуйста, не могу найти : видел скрипт, снимающий абонентскую плату со всех. очень надо, сервер в дауне простоял в полночь, надо снять деньги теперь массово. Ссылка на сообщение Поделиться на других сайтах
Keen 10 Опубліковано: 2020-08-20 13:19:31 Share Опубліковано: 2020-08-20 13:19:31 время на сервере перевидите назад, потом обратно. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 239 Опубліковано: 2020-08-20 14:33:56 Share Опубліковано: 2020-08-20 14:33:56 (відредаговано) 1 час назад, ant0xa сказав: помогите, пожалуйста, не могу найти : видел скрипт, снимающий абонентскую плату со всех. очень надо, сервер в дауне простоял в полночь, надо снять деньги теперь массово. Думаю это должно быть что-то типа такого. Не тестил, накидал от фонаря. set_time_limit(0); $tariffPrices = zb_TariffGetPricesAll(); $users = new nya_users(); $users->where('Passive', '=', 0); $all = $users->getAll(); $i = 0; if (!empty($all)) { foreach ($all as $io => $each) { $userTariff = $each['Tariff']; if (isset($tariffPrices[$userTariff])) { $userFee = $tariffPrices[$userTariff]; if ($userFee > 0) { $feeCharge = '-' . $userFee; $billing->addcash($each['login'], $feeCharge); log_register('CHANGE FixStargazerFee (' . $each['login'] . ') ON ' . $feeCharge); } } else { show_warning(__('Skipping') . ' ' . $each['login']); } $i++; } show_info(__('users processed') . ': ' . $i); } else { show_error(__('No') . ' ' . __('Users')); } Это естественно для помесячной и посуточной. Для размазанной - естественно нужно сделать что-то типа $userFee=($tariffPrices[$userTariff]/31); Відредаговано 2020-08-20 14:46:18 nightfly Ссылка на сообщение Поделиться на других сайтах
ant0xa 4 Опубліковано: 2020-08-21 03:02:40 Автор Share Опубліковано: 2020-08-21 03:02:40 спасибо, это работает Ссылка на сообщение Поделиться на других сайтах
ant0xa 4 Опубліковано: 2020-10-20 08:43:55 Автор Share Опубліковано: 2020-10-20 08:43:55 Цитата $billing->addcash($each['login'], $feeCharge); log_register('CHANGE FixStargazerFee (' . $each['login'] . ') ON ' . $feeCharge); Есть ли процедура записи в лог движения денег а не вот эта вот? op_TransactionAdd не хотелось бы дёргать, ибо она изменит LastCashAddTime скорее всего. А мне хотелось бы, чтобы снятие денег выглядело как простое снятие абонентки старгейзером. Видимо, для этого надо прикинуться старгейзером и напрямую срать в stargazer.log чего, опять же, не хочется. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 239 Опубліковано: 2020-10-20 10:38:45 Share Опубліковано: 2020-10-20 10:38:45 1 час назад, ant0xa сказав: op_TransactionAdd не хотелось бы дёргать он тут вообще каким боком? 1 час назад, ant0xa сказав: ибо она изменит LastCashAddTime скорее всего Это поле вас вообще еб...ть не должно. 1 час назад, ant0xa сказав: А мне хотелось бы, чтобы снятие денег выглядело как простое снятие абонентки старгейзером. Видимо, для этого надо прикинуться старгейзером и напрямую срать в stargazer.log 1. можно. 2. не объязательно Возможно вам стоит задуматься над тем, чем между собой отличаются концепции "представляет из себя на самом деле" и "выглядит как". Ссылка на сообщение Поделиться на других сайтах
ant0xa 4 Опубліковано: 2020-10-20 12:12:50 Автор Share Опубліковано: 2020-10-20 12:12:50 1 час назад, nightfly сказал: op_TransactionAdd не хотелось бы дёргать он тут вообще каким боком? Он тоже кладёт деньги, и эту проводку видно во всех местах, где её должно быть видно. Положить минус 20 с $paysys="OP:CORERECTOR" и пусть абонент видит, что деньги не просто утекли со счёта. Цитата Это поле вас вообще еб...ть не должно. Я его использую в своих целях, мне вот надо знать в своих скриптах, что юзер давно бабки не платил. Стимулировать как-то юзеров. СМСочки слать и всякие такие дела. Цитата 1. можно. 2. не объязательно Возможно вам стоит задуматься над тем, чем между собой отличаются концепции "представляет из себя на самом деле" и "выглядит как". Когда я в модуле "деньги" вручную корректирую баланс, запись об этом попадает в лог. Хочется этого же самого, но в скрипте. zb_CashAdd($login, $cash, $operation, $cashtype, $note); я так думаю, надо эту функцию использовать, я угадал? Ссылка на сообщение Поделиться на других сайтах
nightfly 1 239 Опубліковано: 2020-10-20 12:56:57 Share Опубліковано: 2020-10-20 12:56:57 16 минут назад, ant0xa сказав: Он тоже кладёт деньги, и эту проводку видно во всех местах, где её должно быть видно Ну вообще и с табуреткой поeбаться можно, не отрицаю. 16 минут назад, ant0xa сказав: Я его использую в своих целях, мне вот надо знать в своих скриптах, что юзер давно бабки не платил. Стимулировать как-то юзеров. СМСочки слать и всякие такие дела. Настолько xyевое решение, насколько это возможно. Для этого придумать можно что угодно, начиная от SELECT `login`,`date` from `payments` group by `login` order by `date` DESC и заканчивая вообще чем угодно типа WHERE `date` < DATE_SUB(NOW(), INTERVAL 3 MONTH); Почему, спонтанные изменения LastCashAddTime имеют мало общего с "юзер бабки давно не платил" - это уже вам повод подумать на досуге. 41 минуту назад, ant0xa сказав: zb_CashAdd($login, $cash, $operation, $cashtype, $note); я так думаю, надо эту функцию использовать, я угадал? Угадали. Это уже ближе к денежным операциям как таковым. http://ubilling.net.ua/api_doc/namespaces/default.html#method_zb_CashAdd Ссылка на сообщение Поделиться на других сайтах
ant0xa 4 Опубліковано: 2020-10-20 14:17:44 Автор Share Опубліковано: 2020-10-20 14:17:44 (відредаговано) супер. Исправил скрипт на использование таблички пэйментс. Спасибо за подсказки, сейчас всё работает так, как я хотел Відредаговано 2020-10-20 14:21:04 ant0xa Ссылка на сообщение Поделиться на других сайтах
camchatix 0 Опубліковано: 2021-10-18 07:46:20 Share Опубліковано: 2021-10-18 07:46:20 Подскажите пожалуйста.. Хочу вручную снять АП всем абонам Пробую использовать Ваш скрипт Fatal error: Uncaught Error: Call to undefined function zb_TariffGetPricesAll() Ссылка на сообщение Поделиться на других сайтах
nightfly 1 239 Опубліковано: 2021-10-18 08:25:56 Share Опубліковано: 2021-10-18 08:25:56 39 минут назад, camchatix сказав: Подскажите пожалуйста.. Хочу вручную снять АП всем абонам Пробую использовать Ваш скрипт Fatal error: Uncaught Error: Call to undefined function zb_TariffGetPricesAll() Пытайтесь лучше. Все работает, что не сложно проверить на демке. Ссылка на сообщение Поделиться на других сайтах
camchatix 0 Опубліковано: 2021-10-18 12:38:30 Share Опубліковано: 2021-10-18 12:38:30 включил извилину - запустил Ваш код в консоли разработчика Все работает - Спасибо! Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас