billing:preferences:usage:delete_packet

Удаление тарифа

Перед удалением тарифа система проверяет возможность его удаления:

  • количество обычных пользователей в этом тарифе должно быть равно нулю
  • количество замороженных пользователей в этом тарифе должно быть равно нулю
  • количество отключённых пользователей в этом тарифе должно быть равно нулю
  • количество удалённых пользователей в этом тарифе должно быть равно нулю
  • это должен быть не последний тариф в системе
  • на этом тарифе не должно висеть пользователей в онлайне

Зачем сделаны такие проверки? Для того, чтоб пользователи системы MikBiLL после неправильного взаимодействия с системой не говорили, что "не работает" и "не показывает онлайн".

Вот типичные методы, как этого (не работающего онлайна) можно добиться:

  1. Изменить в базе у пользователей всех групп gid, но не пере подключить их.

Логируются как попытки удаления тарифов, так и сам процесс удаления.

Отчёты → логи:

  • CHECK DEL - проверка на удаление
  • DELETE - само удаление
nolink& |

Как найти причину через базу данных.

Поочередно выполнить запросы в БД MySQL, где :gid заменить на id удаляемого тарифа

SELECT count(uid) as count FROM `users` where gid=:gid;

SELECT count(uid) as count FROM `usersblok` where gid=:gid;

SELECT count(uid) as count FROM `usersdel` where gid=:gid;

SELECT count(uid) as count FROM `usersfreeze` where gid=:gid;

SELECT count(uid) as `count` FROM `radacctbras` WHERE gid=:gid;

Запрос в котором count > 0 сообщает нам место из за которого проблема

  • billing/preferences/usage/delete_packet.txt
  • Последнее изменение: 3 лет назад
  • kagatan