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.
 
 
 
 
 

62 lines
2.8 KiB

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