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;