Перейти к содержимому

Важно

При работе с балансом абонента (таблица customers) нельзя вручную обновлять поле balance. Оно изменяется по триггеру во время добавления записей в таблиицу customer_log.

Так же не нужно заполять поля date, from_balance и to_balance, они так же заполняются в триггере перед добавлением записи. Если всё же указать данные в эти поля, то они всё равно перетрутся триггером.

Чтоб пополнить абоненту баланс достаточно такого запроса:

insert into customer_log(cost, comment, author_id, customer_id, action_type)
values (10, 'comment', 1, 123, 4);

Где 4 означает пополнение баланса. Все значения смотрите в enum структуре CustomerLogActionTypes. На момент написания этой инструкции существуют такие типы логов:

  • 0, ‘Не классифицированно’
  • 1, ‘Автоматическое подключение следующей услуги’
  • 2, ‘Автоматическое продление услуги’
  • 3, ‘Окончание услуги’
  • 4, ‘Пополнение баланса’
  • 5, ‘Периодический платёж’
  • 6, ‘Административные действия’
  • 7, ‘Покупка тарифа абонентом’
  • 8, ‘Досрочное завершение услуги абонентом’
  • 9, ‘Покупка тарифа абоненту через админку’
  • 10, ‘Пополнение счёта сотрудником’
  • 11, ‘Завершение услуги администратором’
  • 12, ‘Оплата долга’
  • 13, ‘Единоразовый платёж’
  • 14, ‘Отмена платежа платёжной системой’