From ec761bd62577f37401d6c1489108a3c4dd923112 Mon Sep 17 00:00:00 2001 From: luying Date: Fri, 17 Jun 2022 13:23:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=B7=E6=96=B0=EF=BC=9A=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E7=9A=840=E7=82=B9=E8=AE=BE=E7=BD=AE=E9=94=99=E8=AF=AF?= =?UTF-8?q?=EF=BC=8C0-5=E7=82=B9=E4=BC=9A=E5=8F=96=E6=88=90=E5=BD=93?= =?UTF-8?q?=E5=A4=A95=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shared/pubUtils/timeUtil.ts | 8 ++++---- shared/pubUtils/util.ts | 15 +++++++-------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/shared/pubUtils/timeUtil.ts b/shared/pubUtils/timeUtil.ts index d68e3b3bc..c8172737a 100644 --- a/shared/pubUtils/timeUtil.ts +++ b/shared/pubUtils/timeUtil.ts @@ -481,14 +481,14 @@ export function getZeroPoint(refreshType: SHOP_REFRESH_TYPE = SHOP_REFRESH_TYPE. * 获取刷新时间点 Date类型 * @param refreshType 刷新类型,每天/每周/每月,默认每天 */ -export function getZeroPointD(refreshType: SHOP_REFRESH_TYPE = SHOP_REFRESH_TYPE.DAILY) { +export function getZeroPointD(refreshType: SHOP_REFRESH_TYPE = SHOP_REFRESH_TYPE.DAILY, hour = REFRESH_TIME) { let t = new Time(TIME_OUTPUT_TYPE.DATE); if(refreshType == SHOP_REFRESH_TYPE.DAILY) { - return t.getDayZeroPoint(); + return t.getDayZeroPoint(hour); } else if (refreshType == SHOP_REFRESH_TYPE.WEEKLY) { - return t.getWeekZeroPoint(); + return t.getWeekZeroPoint(hour); } else if (refreshType == SHOP_REFRESH_TYPE.MONTHLY) { - return t.getMonthZeroPoint(); + return t.getMonthZeroPoint(hour); } } diff --git a/shared/pubUtils/util.ts b/shared/pubUtils/util.ts index 378fdbfd9..75e87a2d0 100644 --- a/shared/pubUtils/util.ts +++ b/shared/pubUtils/util.ts @@ -5,10 +5,10 @@ import { isNumber } from 'underscore'; const csprng = require('csprng'); const fs = require('fs'); const path = require('path'); -import { ABI_STAGE, GACHA_TO_FLOOR, REFRESH_TIME, ROBOT_SYS_TYPE, ITEM_CHANGE_REASON, WAR_TYPE } from '../consts'; +import { ABI_STAGE, GACHA_TO_FLOOR, REFRESH_TIME, ROBOT_SYS_TYPE, ITEM_CHANGE_REASON, WAR_TYPE, SHOP_REFRESH_TYPE } from '../consts'; import { findIndex } from 'underscore'; -import { getTimeFunM } from './timeUtil'; +import { getTimeFunM, getZeroPointD } from './timeUtil'; import { Floor } from '../domain/activityField/gachaField'; import { WhiteListModel } from '../db/RegionWhiteList'; import { RewardInter } from './interface'; @@ -132,10 +132,8 @@ export function deltaDays(preTime: Date, proTime: Date): number { export function shouldRefresh(preTime: Date, now: Date, hour: number = REFRESH_TIME, deltaDay = 1): boolean { if (!preTime) return true; let curTime = new Date(now.getTime()); - let refreshTime = new Date(now.getTime()); - refreshTime.setHours(hour, 0, 0, 0); + let refreshTime = getZeroPointD(SHOP_REFRESH_TYPE.DAILY, hour); let refeshTime = refreshTime.getTime(); - if (refeshTime - preTime.getTime() > (deltaDay >= 1 ? deltaDay - 1 : 0) * 24 * 60 * 60 * 1000 && curTime.getTime() >= refeshTime) { return true; } @@ -150,12 +148,13 @@ export function shouldRefresh(preTime: Date, now: Date, hour: number = REFRESH_T * @param hour 几点刷新 * @param deltaDay 间隔几天刷新,默认每天刷新(deltaDay = 1) */ -export function shouldRefreshWeek(preTime: Date, now: Date, day: number = 1, hour: number = REFRESH_TIME, deltaWeek = 1): boolean { +export function shouldRefreshWeek(preTime: Date, now: Date, hour: number = REFRESH_TIME, deltaWeek = 1): boolean { if (!preTime) return true; let curTime = new Date(now.getTime()); - let refreshTime = getTimeFunM(now).getTimeWithWeek(day, hour); + let refreshTime = getZeroPointD(SHOP_REFRESH_TYPE.WEEKLY, hour); + let refeshTime = refreshTime.getTime(); - if (refreshTime - preTime.getTime() > (deltaWeek >= 1 ? deltaWeek - 1 : 0) * 7 * 24 * 60 * 60 * 1000 && curTime.getTime() >= refreshTime) { + if (refeshTime - preTime.getTime() > (deltaWeek >= 1 ? deltaWeek - 1 : 0) * 7 * 24 * 60 * 60 * 1000 && curTime.getTime() >= refeshTime) { return true; } return false;