Инструменты пользователя

Инструменты сайта


doc:1605:643.mgul.21010-10_13_01

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:1605:643.mgul.21010-10_13_01 [2024/01/04 14:53]
aminaraon [requestAdditionalDataIfMissing(formattedStartDate, formattedEndDate, filteredKeys)]
doc:1605:643.mgul.21010-10_13_01 [2024/01/04 15:05] (текущий)
aminaraon [checkDateRangeInRedis(formattedStartDate, formattedEndDate, keysArray)]
Строка 90: Строка 90:
         await updateDataInRedis(dataUrl);​         await updateDataInRedis(dataUrl);​
     }     }
-Шаг №6: Если флаг установлен в true, возвращение новых отсортированных и отфильтрованных ключей,​ иначе возвращаем filteredKeys+Шаг №6: Если флаг установлен в true, возвращение новых отсортированных и отфильтрованных ключей ​из Redis, иначе возвращаем filteredKeys
     return flag ? await sortedAndFilteredKeys(formattedStartDate,​ formattedEndDate) : filteredKeys;​     return flag ? await sortedAndFilteredKeys(formattedStartDate,​ formattedEndDate) : filteredKeys;​
 +===== checkDateRangeInRedis(formattedStartDate,​ formattedEndDate,​ keysArray) ===== 
 +Шаг №1: Инициализация переменных,​ получение начальной и конечной временных меток из Redis 
 +    const startDate = keysArray[0];​ 
 +    const endDate = keysArray[keysArray.length - 1]; 
 +Шаг №2: Расчет временной разницы в минутах между конечной датой Redis и заданной начальной датой. 
 +    let startDifference = moment(endDate).diff(moment(formattedStartDate),​ '​minutes'​);​ 
 +Шаг №3: Проверка,​ находится ли заданная начальная дата внутри или частично пересекается с временным диапазоном Redis. 
 +    if (startDate <= formattedStartDate && formattedStartDate < endDate && Math.abs(startDifference) >= 5) { 
 +        // Если условие выполняется,​ возвращаем true, указывая на пересечение временных диапазонов. 
 +        return true; 
 +    } 
 +Шаг №4: Расчет временной разницы в минутах между заданной конечной датой массива и начальной датой Redis. 
 +    let endDifference = moment(formattedEndDate).diff(moment(startDate),​ '​minutes'​);​ 
 +Шаг №5: Если ни одно из условий не выполнилось,​ возвращаем false, указывая на отсутствие пересечения временных диапазонов,​ иначе true 
 +    return formattedStartDate <= startDate && startDate < formattedEndDate && Math.abs(endDifference) >= 5;
doc/1605/643.mgul.21010-10_13_01.1704369212.txt.gz · Последние изменения: 2024/01/04 14:53 — aminaraon