You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

65 lines
2.9 KiB

// Формат общения NAS с базой
[
{
"toa": 1, /* Тип события:
0 - ничего не надо (пустое)
1 - Активировать клиента (включить его)
2 - Выключить клиента
3 - Поставить заглушку
4 - Открыть доступ в интернет
5 - Закрыть доступ в интернет
6 - Перечитать всю инфу (полная перезагрузка NAS)
7 - Изменилась инфа об абоненте, переприменить его
*/
"id": 12, // ID объекта о котором событие (абонент там, или тариф)
"dt": "data" // Разная инфа, содержимое зависит от поля 'toa'
},
{
"id": 13,
"toa": 3
}
]
// Формат передачи инфы об абонентах
{
"subscribers": [
{
"is_active": true, // Активен-ли абонент
"ip": 168558850, // Его ip
"tarif_id": 1, // id тарифа
"id": 2 // id абонента
},
{
"is_active": true,
"ip": 168558850,
"tarif_id": 1,
"id": 2
}
],
"tariffs": [
{
"tid": 1, // id тарифа
"amount": 0.0, // стоимость
"speedOut": 0.0, // Исходящая скорость
"speedIn": 0.0 // Входящая скорость
}
]
}
-------------------------------
Состояние оплаты абонента определяется на основе присутствия у него тарифного плана,
если он есть - то значит всё оплачено (абонент его купил) и может пользоваться услугами.
Тарифный план имеет срок действия и стоимость. Его можно купить, как билет в интернет :)
ТАРИФНЫЙ ПЛАН С НАИМЕНЬШИМ ЧИСЛОМ ПРИОРИТЕТА ИМЕЕТ НАИВЫСШИЙ ПРИОРИТЕТ
В общем чем ближе приоритет к 0 тем он выше
0 - текущий тариф
Свою логику расчёта по тарифу можно добавить в файле tariff_app/custom_tariffs.py
Там надо добавить класс, наследованный от TariffBase и реализовать его абстрактные методы,
потом добавить этот класс в кортеж TARIFF_CHOICES указав:
код из 2х букв, сочетание должно быть уникальным
и ваш класс для своей логики расчёта тарифа