From 0a57b2f00c6196ff088967d402b3dc762cbc4342 Mon Sep 17 00:00:00 2001 From: luying Date: Mon, 29 Aug 2022 16:39:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=B6=E9=97=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/services/activity/limitPackageService.ts | 2 +- .../app/services/activity/refreshShopService.ts | 2 +- shared/domain/activityField/firstGiftField.ts | 2 +- shared/domain/activityField/monthlyTicketField.ts | 4 ++-- shared/pubUtils/timeUtil.ts | 2 +- shared/pubUtils/util.ts | 12 ++++++++---- 6 files changed, 14 insertions(+), 10 deletions(-) diff --git a/game-server/app/services/activity/limitPackageService.ts b/game-server/app/services/activity/limitPackageService.ts index 6f879279b..4b3e09042 100644 --- a/game-server/app/services/activity/limitPackageService.ts +++ b/game-server/app/services/activity/limitPackageService.ts @@ -87,7 +87,7 @@ export async function limitPackageActivity(serverId: number, roleId: string, typ export async function newPlayerActivityDays(roleId: string) { let { createTime } = await RoleModel.findByRoleId(roleId); let createDate = moment(createTime * 1000).toDate(); - let todayIndex = deltaDays(moment(createDate).startOf('d').toDate(), new Date) + 1; + let todayIndex = deltaDays(createDate, new Date, true) + 1; return todayIndex; } diff --git a/game-server/app/services/activity/refreshShopService.ts b/game-server/app/services/activity/refreshShopService.ts index ab9e29392..c0effa4c7 100644 --- a/game-server/app/services/activity/refreshShopService.ts +++ b/game-server/app/services/activity/refreshShopService.ts @@ -98,7 +98,7 @@ export async function getPlayerRefreshShopDataByRoundIndex(activityId: number, s export async function newPlayerActivityDays(roleId: string) { let { createTime } = await RoleModel.findByRoleId(roleId); let createDate = moment(createTime * 1000).toDate(); - let todayIndex = deltaDays(moment(createDate).startOf('d').toDate(), new Date) + 1; + let todayIndex = deltaDays(createDate, new Date, true) + 1; return todayIndex; } diff --git a/shared/domain/activityField/firstGiftField.ts b/shared/domain/activityField/firstGiftField.ts index 2ec92b5d4..e00fd230a 100644 --- a/shared/domain/activityField/firstGiftField.ts +++ b/shared/domain/activityField/firstGiftField.ts @@ -68,7 +68,7 @@ export class FirstGiftPage { public setPlayerRecord(playerData: ActivityFirstGiftModelType) { if(playerData) { this.state = FIRST_GIFT_STATE.PAY; - this.todayIndex = deltaDays(moment(playerData.createdAt).startOf('d').toDate(), new Date) + 1; + this.todayIndex = deltaDays(playerData.createdAt, new Date, true) + 1; let daysNum = playerData.days||[]; for (let obj of this.items) { diff --git a/shared/domain/activityField/monthlyTicketField.ts b/shared/domain/activityField/monthlyTicketField.ts index aaecd1a2e..1052a4171 100644 --- a/shared/domain/activityField/monthlyTicketField.ts +++ b/shared/domain/activityField/monthlyTicketField.ts @@ -65,8 +65,8 @@ export class MonthlyTicketData extends ActivityBase { this.cardEndTime = data.isForever? this.endTime: moment(data.endTime).valueOf(); if (data.isForever || moment(new Date).valueOf() < this.cardEndTime) { this.isOpen = true; - this.todayIndex = deltaDays(moment(data.createdAt).startOf('d').add(REFRESH_TIME, 'h').toDate(), new Date) + 1; - this.days = deltaDays(moment(data.createdAt).startOf('d').add(REFRESH_TIME, 'h').toDate(), new Date(this.cardEndTime)); + this.todayIndex = deltaDays(data.createdAt, new Date) + 1; + this.days = deltaDays(data.createdAt, new Date(this.cardEndTime)); } else { this.todayIndex = 0; } diff --git a/shared/pubUtils/timeUtil.ts b/shared/pubUtils/timeUtil.ts index 72ef3213a..0f1e94023 100644 --- a/shared/pubUtils/timeUtil.ts +++ b/shared/pubUtils/timeUtil.ts @@ -305,7 +305,7 @@ class Time { public getAfterDayWithHour(day: number = 0, hour = REFRESH_TIME, minute = 0, seconds = 0) { let t = this._setHour(this.time.getTime(), hour, minute, seconds, 0); // console.log(t.getTime(), this.time.getTime()); - if(this.time.getTime() >= t.getTime()) { + if(this.time.getTime() > t.getTime()) { let timestamp = t.getTime() + (day + 1) * this.DAY_TO_MS; return this._returnResult(timestamp); } else { diff --git a/shared/pubUtils/util.ts b/shared/pubUtils/util.ts index 1a02ecb09..fe62ceffb 100644 --- a/shared/pubUtils/util.ts +++ b/shared/pubUtils/util.ts @@ -118,10 +118,14 @@ export function decodeIdCntArrayStr(str: string, multi: number) { * @param preTime 之前的时间 * @param proTime 之后的时间 */ -export function deltaDays(preTime: Date, proTime: Date): number { - let beginZeroPoint = getZeroPointOfTimeD(preTime); - let endZeroPoint = getZeroPointOfTimeD(proTime); - return moment(endZeroPoint).diff(moment(beginZeroPoint), "days"); +export function deltaDays(preTime: Date, proTime: Date, useNaturalZero = false): number { + if(useNaturalZero) { + return moment(proTime).diff(moment(preTime), "days"); + } else { + let beginZeroPoint = getZeroPointOfTimeD(preTime); + let endZeroPoint = getZeroPointOfTimeD(proTime); + return moment(endZeroPoint).diff(moment(beginZeroPoint), "days"); + } } /**