From 93a048d48540a2759009507cddf1f9b5c68c4087 Mon Sep 17 00:00:00 2001 From: qiaoxin Date: Thu, 3 Jun 2021 17:11:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=EF=BC=9A=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=96=B0=E6=89=8B=E7=AD=BE=E5=88=B0=E8=B5=B7=E5=A7=8B=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E7=9A=84=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/services/signInService.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/game-server/app/services/signInService.ts b/game-server/app/services/signInService.ts index 4fcb241d5..15707d831 100644 --- a/game-server/app/services/signInService.ts +++ b/game-server/app/services/signInService.ts @@ -1,5 +1,5 @@ import moment = require('moment'); -import { ACTIVITY_TYPE, NEW_PLAYER_SIGIN_DAYS, SERVER_OPEN_TIME, SIGNIN_VIP_OPEN_LIMIT, STATUS } from '../consts'; +import { ACTIVITY_TYPE, NEW_PLAYER_SIGIN_DAYS, REFRESH_TIME, SERVER_OPEN_TIME, SIGNIN_VIP_OPEN_LIMIT, STATUS } from '../consts'; import { ActivityModel, ActivityModelType } from '../db/Activity'; import { ActivitySignInModel, ActivitySignInModelType } from '../db/ActivitySignIn'; import { RoleModel } from '../db/Role'; @@ -115,8 +115,16 @@ export async function getPlayerSignInData(activityId: number, serverId: number, playerData.setPlayerRecords(playerRecords); if (playerData.type === ACTIVITY_TYPE.NEW_PLAYER_SIGN_IN) { let { createTime } = await RoleModel.findByRoleId(roleId); - let betinTime = moment(createTime * 1000).startOf('d').toDate(); - let endTime = moment(betinTime).add(NEW_PLAYER_SIGIN_DAYS - 1, 'd').endOf('d').toDate() + let betinTime = null; + let endTime = null + let curDate = moment(createTime * 1000); + if (curDate.hour() < REFRESH_TIME) { + betinTime = moment(createTime * 1000).startOf('d').add(-1, 'd').add(REFRESH_TIME, 'h').toDate(); + endTime = moment(betinTime).add(NEW_PLAYER_SIGIN_DAYS - 1, 'd').endOf('d').toDate() + } else { + betinTime = moment(createTime * 1000).startOf('d').add(REFRESH_TIME, 'h').toDate(); + endTime = moment(betinTime).add(NEW_PLAYER_SIGIN_DAYS - 1, 'd').endOf('d').toDate() + } playerData.setNewPlayerDate(betinTime, endTime) } return playerData;