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

  • Клиент не совершил ни одного платежа. 
  • Клиент не имеет ненулевых расходов. 
  • Клиент не имеет ни одной активной услуги. 

В остальных случаях, необходимо выполнить запросы на удаление информации из базы данных 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 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;
SQL

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

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

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