Важно
При работе с балансом абонента (таблица 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, ‘Отмена платежа платёжной системой’