Понадобилось при отключении клиента возвращать деньги за неиспользованное время/трафик, если отключение произошло в течение расчётного периода. Есть ли у кого готовое решение, как это сделать?
Если делать самому, то вижу такой вариант.
Для безлимитных тарифов всё довольно просто, возвращаем клиенту:
(дата окончания расчётного периода - текущая дата) / продолжительность расчётного периода * плата за тариф
Для тарифов с платой за трафик возвращаем:
(предоплаченный трафик - израсходованный трафик) / предоплаченный трафик * плата за тариф
Размер предоплаченного трафика задан в Тарифный план -> Услуга Передача IP трафика -> Предоплаченный трафик -> Объём трафика.
Проблема в том, как добыть объём предоплаченного трафика из базы? Судя по всему эти объёмы хранятся в таблице traf_serv_tclasses. Но не могу сделать SQL-запрос, чтобы по id тарифного плана получить объем предоплаченного трафика...
Помогите...