Удаление клиента

Удаление клиента#

Чтобы удалить клиента, необходимо перейти в раздел Клиенты — Клиенты, выбрать нужного клиента и нажать кнопку Удалить.

Администратор может удалить клиента через графический интерфейс, если:

  • клиент не совершил ни одного платежа;

  • клиент не имеет ненулевых расходов;

  • клиент не имеет ни одной активной услуги.

В остальных случаях, необходимо выполнить запросы на удаление информации из базы данных billmgr:

set @account_id = <ИДЕНТИФИКАТОР_КЛИЕНТА>;
DELETE FROM expense WHERE subaccount IN (SELECT id FROM subaccount WHERE account = @account_id);
DELETE FROM payment WHERE subaccount IN (SELECT id FROM subaccount WHERE account = @account_id);
DELETE FROM ticket WHERE item IN (SELECT id FROM item WHERE account = AccountId OR parent IN (SELECT id FROM item WHERE account = AccountId));
DELETE FROM recurring WHERE profile IN (SELECT id FROM profile WHERE account = AccountId);
DELETE FROM billorder WHERE subaccount IN (SELECT id FROM subaccount WHERE account = @account_id);
UPDATE ip SET item = NULL WHERE item IN (SELECT id FROM item WHERE account = @account_id OR parent IN (SELECT id FROM item WHERE account = @account_id));
DELETE FROM invoiceitem where invoice in (SELECT id FROM invoice WHERE customer IN (SELECT id FROM profile WHERE account = @account_id));
DELETE FROM item WHERE parent IN (SELECT id FROM (SELECT id FROM item WHERE account = @account_id) itm);
DELETE FROM item WHERE account = @account_id;
DELETE FROM service_profile WHERE account = @account_id;
DELETE FROM invoice WHERE customer IN (SELECT id FROM profile WHERE account = @account_id);
DELETE FROM profile WHERE account = @account_id;
DELETE FROM ticket WHERE account_client = @account_id;
DELETE FROM user WHERE account = @account_id;
DELETE FROM affiliatereward WHERE account = @account_id OR referal = @account_id;
DELETE FROM account WHERE id = @account_id;

В результате выполнения этих запросов из будет удалена история взаимоотношений с клиентом, его финансовая информация и запросы в центр поддержки. При этом сохранятся файлы клиента: конфигурационные файлы, аватары и файлы, загруженные в запросах.

После удаления информации необходимо перезапустить подсистему:

/usr/local/mgr5/sbin/mgrctl -m billmgr exit