1

Точное время блокировки учетной записи по исчерпанию счетчика дней

Тема: Точное время блокировки учетной записи по исчерпанию счетчика дней

Добрый день!

Обращался в техподдержку, если не ошибаюсь, дважды по этому вопросу, но внятного разъяснения сути алгоритма так и не смог получить, решил написать здесь.Задача стояла по API выгружать из Wialon информацию следующего характера по предстоящим блокировкам:

Учетная запись (клиент) - Статус (блокирован/нет) -  Дата блокировки - Порог блокировки, дн.

Поле "Дата блокировки" рассчитывается на основе полученного порога блокировки (settings.personal.minDaysCounter) и текущего счетчика дней (daysCounter). При этом, если порог блокировки и текущий счетчик дней в настоящий момент имеют нулевые значения, мы делаем вывод о том, что ограничения для учетной записи по дням отсутствуют, о чем выводим информацию.

Ранее (где-то года полтора назад) это работало. Но потом что-то изменилось, то есть, если у клиента осталось 0 дней по состоянию на текущую дату, и порог блокировки у него 0 дней, это не значит, что в дату блокировки он в любое время заблокирован, по крайней мере после 4 часов утра в нашем часовом поясе (так и есть, блокировки наступают гораздо позже). Насколько я понял, мой механизм проверки устарел. Теперь вопрос - как все-таки узнать не только дату, но и точное время блокировки, чтобы сделать вывод о том, есть у клиента ограничения по дням или нет?

Потому что, как я понял, нет возможности средствами API подтянуть признак "Блокировка по дням", чтобы сделать вывод о наличии ограничений. Или я не прав? Менеджеров такой отчет стал очень сбивать с толку, так как в день блокировки по клиентам, у которых текущий счетчик дней равен нулю, в отчет выводится информация "Ограничения отсутствуют".

2

Точное время блокировки учетной записи по исчерпанию счетчика дней

Re: Точное время блокировки учетной записи по исчерпанию счетчика дней

Добрый день, Александр!

Вы можете ориентироваться на параметр flags  (settings.personal.flags) , чтобы понять используется ли какая-то блокировка (по дням, по балансу) или нет.
см значение тут - https://sdk.wialon.com/wiki/ru/sidebar/ … noj_zapisi

К примеру, если блокировка никакая не установлена, flags: 0,  если по дням - то flags: 32  (десятичный формат)

Что касается самого времени (момент блокировки)  - сервер проверяет баланс/дни каждую ночь  в 03:00 (UTC+3), и если условия блокировки наступают, то учетная запись блокируется.

К примеру, Блокировка по дням : 0 дней ,  сегодня у учетной записи  3 дня (daysCounter: 3),  значит в воскрес 28 мая  будет 0 дней, и учетная запись должна будет заблокирована. Тогда ночью 28го в 03:00 учетная запись будет заблокирована.

Diana Cheley
Wialon Hosting Expert
Gurtam
3

Точное время блокировки учетной записи по исчерпанию счетчика дней

Re: Точное время блокировки учетной записи по исчерпанию счетчика дней

Diana пишет:

Добрый день, Александр!

Вы можете ориентироваться на параметр flags  (settings.personal.flags) , чтобы понять используется ли какая-то блокировка (по дням, по балансу) или нет.
см значение тут - https://sdk.wialon.com/wiki/ru/sidebar/ … noj_zapisi

К примеру, если блокировка никакая не установлена, flags: 0,  если по дням - то flags: 32  (десятичный формат)

Что касается самого времени (момент блокировки)  - сервер проверяет баланс/дни каждую ночь  в 03:00 (UTC+3), и если условия блокировки наступают, то учетная запись блокируется.

К примеру, Блокировка по дням : 0 дней ,  сегодня у учетной записи  3 дня (daysCounter: 3),  значит в воскрес 28 мая  будет 0 дней, и учетная запись должна будет заблокирована. Тогда ночью 28го в 03:00 учетная запись будет заблокирована.

Диана, огромное Вам спасибо за разъяснения! Действительно, Ваши рекомендации помогли, всё встало на свои места, отчеты адекватные, менеджеры больше за голову не хватаются, всё четко и прозрачно )))