Биллинговая система Nodeny
19 Апреля 2024, 02:16:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Короткие услуги  (Прочитано 3795 раз)
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« : 18 Октября 2018, 09:47:20 »

Як модуль працює з модулем "Модуль группировки списаний"?
Може хтось скрін історіїї скинути?
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #1 : 18 Октября 2018, 10:10:34 »

Не важно короткие услуги или не короткие, группировка списаний делается следующим образом
Собираются все записи за месяц и создается одна но большаааааая, в описательной части которой перечисленны все списания которые были сгруппированы. Т.е. визуально почти ничего не поменяется. Просто запись будет одна а не 30.
Но, скажу я вам.... если в базе уже имеется пару миллионов записей (а на большой сети насобирать их можно за пару-тройку месяцев лекго), то группировать первый раз будет ООООООчень долго.
Записан
ser970
NoDeny
Спец
*

Карма: 70
Offline Offline

Сообщений: 1323

262462619
Просмотр профиля Email
« Ответ #2 : 18 Октября 2018, 13:19:53 »

по логике не должно бы долго... группировка не затратная функция....

select count(id) from pays;
+-----------+
| count(id) |
+-----------+
|   2166835 |
+-----------+

select count(id) from pays where 1 group by mid
28377 rows in set (1.91 sec)


правда это данные с n50  (просто тут самая большая таблица.


а вот с n+

select count(id) from pays limit 1;
+-----------+
| count(id) |
+-----------+
|    423558 |
+-----------+
1 row in set (0.80 sec)

select sum(cash) from pays where 1 group by mid;
3349 rows in set (0.74 sec)
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #3 : 18 Октября 2018, 14:01:13 »

Код:
SELECT COUNT(*) AS n, YEAR(FROM_UNIXTIME(time)) AS y, MONTH(FROM_UNIXTIME(time)) AS m, mid FROM pays WHERE category=100 AND NOT EXISTS (SELECT 1 FROM users_services WHERE pays.id=pay_id) GROUP BY y, m, mid HAVING n>1;
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #4 : 18 Октября 2018, 14:41:11 »

Вартість тарифного плану 140 грн включно з  телебаченням.
В клієнта на рахунку 200 грн.
Коли закінчується місяць залишається 60 грн і підключається тариф 5 грн/добу. Доступ до інтернету не блокується і клієнт користується ще 12 днів.
Після чого доступ блокується але телебачення продовжує працювати (коаксіальна незалежна мережа). Як зробити щоб коли вистачає коштів (на добу)  вартість була одна а коли не вистачає то в мінус заганяло але плата була не 5 а наприклад 3грн/добу?
Можливо якийсь принципово інший підхід?
Чи є варіант примусово блокувати доступ до інтернету  коли підключається послуга на добу?
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #5 : 18 Октября 2018, 14:54:42 »

Можливо для універсальності модуля докрутити якусь галочку, блокувати чи не блокувати доступ при переключенні на подобовий тариф
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1227

In LAN we trust!

358714596
Просмотр профиля
« Ответ #6 : 18 Октября 2018, 18:30:29 »

а если сделать 2 услуги? интернет + тв
и пусть тв снимается в минус
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #7 : 18 Октября 2018, 21:14:36 »

по логике не должно бы долго... группировка не затратная функция....
Я не теоретик, на практике испытывал работу модуля. В первый запуск пришлось оставить его в скрине работать на ночь т.к. вообще не понятно было что происходит. В общем последующие запуски ежесуточные уже нормально проходят, терпимо.
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #8 : 19 Октября 2018, 01:31:09 »

а если сделать 2 услуги? интернет + тв
и пусть тв снимается в минус
Теж про це думав. Але тоді потрібно щоб послуга доступу в інтернет заморожувалась а телебачення переключалось на подобовий тариф. Не думаю що буде працювати коректно.
Коли недостатньо коштів на місячний тариф переключається на подобовий1. Коли недостатньо коштів для подобовий1 переключається на подобовий2 і доступ в інтернет блокується. Відповідно і вартість подобовий1 і подобовий2 різна.
Чи можливо реалізувати?
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1227

In LAN we trust!

358714596
Просмотр профиля
« Ответ #9 : 19 Октября 2018, 09:55:14 »

тв, если это аналог, не надо переключать на посуточный тариф!
1 месяц в минус, потом идет монтажник ножками и отключает
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #10 : 20 Октября 2018, 15:33:16 »

є тарифи де телебачення входить в вартість інтернету. І коли клієнту за неоплату блокує доступ до мережі то телебачення послуга надається. В середині місяця він звертається знову за поновленням доступу до інтернет і тут починається калькуляція. 15 днів лише телебачення + 15 днів інтернет +тб.
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1227

In LAN we trust!

358714596
Просмотр профиля
« Ответ #11 : 21 Октября 2018, 09:47:12 »

є тарифи де телебачення входить в вартість інтернету. І коли клієнту за неоплату блокує доступ до мережі то телебачення послуга надається. В середині місяця він звертається знову за поновленням доступу до інтернет і тут починається калькуляція. 15 днів лише телебачення + 15 днів інтернет +тб.
если ты стоимость тв выделяешь из стоимости пакета, то так и добавляй клиенту не тариф "инет с тв за 150 грн", а "инет 100 грн" + "тв 50 грн" - от и вся проблема, только в описании напиши "супертариф интрнет+тв 150 грн/мес, инет" и "супертариф интернет+тв 150 грн/мес, тв"
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!