diff --git a/game-server/app/servers/activity/handler/thirtyDaysHandler.ts b/game-server/app/servers/activity/handler/thirtyDaysHandler.ts index 60110789f..16a3d1807 100644 --- a/game-server/app/servers/activity/handler/thirtyDaysHandler.ts +++ b/game-server/app/servers/activity/handler/thirtyDaysHandler.ts @@ -1,7 +1,7 @@ import { Application, BackendSession, HandlerService, } from 'pinus'; import { resResult } from '../../../pubUtils/util'; import { STATUS, ACTIVITY_TYPE, ITEM_CHANGE_REASON } from '../../../consts'; -import { getPlayerThirtyDaysData, playerThirtyDaysActivityDays } from '../../../services/activity/thirtyDaysService'; +import { getPlayerThirtyDaysData } from '../../../services/activity/thirtyDaysService'; import { ThirtyDaysData, ThirtyDaysItem, ThirtyDaysPointItem } from '../../../domain/activityField/thirtyDaysField'; import { ActivityThirtyDaysModel } from '../../../db/ActivityThirtyDays'; import { ActivityThirtyDaysPointRewardModel } from '../../../db/ActivityThirtyDaysPointReward'; @@ -35,12 +35,10 @@ export class ThirtyDaysHandler { const roleId = session.get('roleId'); const serverId = session.get('serverId'); - let todayIndex = await playerThirtyDaysActivityDays(roleId) - let playerData = await getPlayerThirtyDaysData(activityId, serverId, roleId) if (!playerData) return resResult(STATUS.ACTIVITY_THIRTY_DAYS_END); - return resResult(STATUS.SUCCESS, { playerData, todayIndex }); + return resResult(STATUS.SUCCESS, { playerData, todayIndex: playerData.todayIndex }); } /** @@ -56,8 +54,6 @@ export class ThirtyDaysHandler { const sid = session.get('sid'); const roleName = session.get('roleName'); - - let todayIndex = await playerThirtyDaysActivityDays(roleId);//玩家当前的天数 let activityArray = await getActivitiesByType(serverId, ACTIVITY_TYPE.THIRTY_DAYS); let createTime = await getRoleCreateTime(roleId); let serverTime = await getServerCreateTime(serverId); @@ -93,9 +89,9 @@ export class ThirtyDaysHandler { return resResult(STATUS.ACTIVITY_REWARDED); } - if (activityDays < todayIndex && todayIndex <= (activityDays + playerData.days)) {//时间正常范围内 + if (activityDays < playerData.todayIndex && playerData.todayIndex <= (activityDays + playerData.days)) {//时间正常范围内 - } else if (todayIndex > (activityDays + playerData.days)) {//活动已经过期 + } else if (playerData.todayIndex > (activityDays + playerData.days)) {//活动已经过期 // console.log('过期奖励') let expiredItems: Array = playerData.needMark(); let cells = expiredItems.map(obj => obj.cellIndex) diff --git a/game-server/app/services/activity/activityService.ts b/game-server/app/services/activity/activityService.ts index 60b971590..e5b72308a 100644 --- a/game-server/app/services/activity/activityService.ts +++ b/game-server/app/services/activity/activityService.ts @@ -6,7 +6,7 @@ import { getPlayerLimitPackageData, } from './limitPackageService'; import { getPlayerYuanbaoShopData, } from './yuanbaoService'; import { getPlayerMonthlyTicketData, } from './monthlyTicketService'; import { getPlayerRechargeMoneyDataShow, } from './rechargeMoneyService'; -import { getPlayerThirtyDaysData, playerThirtyDaysActivityDays, } from './thirtyDaysService'; +import { getPlayerThirtyDaysData } from './thirtyDaysService'; import { getPlayerVipRechargeMoneyData, } from './vipRechargeMoneyService'; import { getPlayerActivityData, } from './selfServiceShopActivityService'; import { ActivitySelfServiceGoodsModel } from '../../db/ActivitySelfServiceGoods'; @@ -73,8 +73,9 @@ export async function getActivity(serverId: number, roleId: string, guildCode: s case ACTIVITY_TYPE.THIRTY_DAYS://30天目标活动 12 { let data = await getPlayerThirtyDaysData(activityId, serverId, roleId); - let todayIndex = await playerThirtyDaysActivityDays(roleId); - activityData = { playerData: data, todayIndex, canShow: () => data.canShow } + if(data.canShow()) { + activityData = { playerData: data, todayIndex: data.todayIndex } + } break; } case ACTIVITY_TYPE.SELF_SERVICE_SHOP://自选商店 糜家商队 13 diff --git a/game-server/app/services/activity/thirtyDaysService.ts b/game-server/app/services/activity/thirtyDaysService.ts index 421c71ca7..d0f321b08 100644 --- a/game-server/app/services/activity/thirtyDaysService.ts +++ b/game-server/app/services/activity/thirtyDaysService.ts @@ -1,11 +1,6 @@ -import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityThirtyDaysModel, ActivityThirtyDaysModelType } from '../../db/ActivityThirtyDays'; import { ThirtyDaysData } from '../../domain/activityField/thirtyDaysField'; import { ActivityThirtyDaysPointRewardModel, ActivityThirtyDaysPointRewardModelType } from '../../db/ActivityThirtyDaysPointReward'; -import { RoleModel } from '../../db/Role'; -import moment = require('moment'); -import { deltaDays } from '../../pubUtils/util'; -import { ServerlistModel } from '../../db/Serverlist'; import { getActivitiesByType, getActivityById } from './activityService'; import { getRoleCreateTime, getServerCreateTime } from '../redisService'; @@ -74,22 +69,4 @@ export async function addPlayerThirtyDaysTask(activityId: number, serverId: numb playerData.setPlayerRecords(playerRecords); playerData.setPlayerPointRecords(playerPointRecords); return playerData; -} - -/** - * 玩家活动第几天 - * - * @param {number} serverId 区Id - * @param {number} activityId 活动Id - * @param {string} roleId 角色Id - * - */ -export async function playerThirtyDaysActivityDays(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; - return todayIndex; -} -{ - } \ No newline at end of file diff --git a/game-server/app/services/gmService.ts b/game-server/app/services/gmService.ts index 93cf40d90..f4f4813c6 100644 --- a/game-server/app/services/gmService.ts +++ b/game-server/app/services/gmService.ts @@ -1,22 +1,19 @@ -import Marquee, { MarqueeType, MarqueeModel } from "../db/Marquee"; -import { ACTIVITY_TYPE, GM_MAIL_STATUS, GM_MAIL_TYPE, MAIL_TIME_TYPE, MARQUEE_SHOW_TYPE, MARQUEE_TIME_TYPE, REF_CIRCLE_MAIL_TIME, SERVER_STATUS, SURVEY_SELECT } from "../consts"; +import { MarqueeType, MarqueeModel } from "../db/Marquee"; +import { ACTIVITY_TYPE, MARQUEE_SHOW_TYPE, MARQUEE_TIME_TYPE, SURVEY_SELECT } from "../consts"; import { scheduleJob, scheduledJobs, Job } from 'node-schedule'; import { createMarqueeMsg as sysCreateMarqueeMsg, pushMarqueeMsg as sysPushMarqueeMsg } from './sysChatService'; import { GroupMessageType } from "../db/GroupMessage"; import { pinus } from "pinus"; -import { getWorldChannelSid } from "./chatChannelService"; import { ServerlistModel, ServerlistType } from "../db/Serverlist"; -import { NoticeModel, NoticeType } from "../db/Notice"; -import { SendMailFun, sendMailsByGmMail } from "./mailService"; -import GMMail, { GMMailModel, GMMailType } from '../db/GMMail'; -import moment = require("moment"); -import { getSeconds, nowSeconds } from "../pubUtils/timeUtil"; +import { sendMailsByGmMail } from "./mailService"; +import GMMail, { GMMailModel } from '../db/GMMail'; +import { nowSeconds } from "../pubUtils/timeUtil"; import { CreateServerParam } from "../domain/backEndField/params"; import { SignInData } from "../domain/activityField/signInField"; import { RegionModel, RegionType } from "../db/Region"; import { GMMail as StategyMail } from "../db/ServerStategy"; import { uniq } from "underscore"; -import { ActivityModel, ActivityModelType } from "../db/Activity"; +import { ActivityModelType } from "../db/Activity"; import { dicRMB } from "../pubUtils/dictionary/DicRMB"; import { LimitShopData } from "../domain/activityField/limitShopField"; import { YuanBaoShopData } from "../domain/activityField/yuanBaoShopField"; @@ -28,7 +25,7 @@ import { TreasureHuntData } from "../domain/activityField/treasureHuntField"; import { RefreshShopData } from "../domain/activityField/refreshShopField"; import { RoleType } from "../db/Role"; import { MonopolyData } from "../domain/activityField/monopolyField"; -import { ActivityPopUpShopModel, ActivityPopUpShopModelType, PopUpShopItem } from "../db/ActivityPopUpShop"; +import { ActivityPopUpShopModel, PopUpShopItem } from "../db/ActivityPopUpShop"; import { getActivitiesByType } from "./activity/activityService"; import { SurveyModel } from "../db/Survery"; import { SurveyRecModel } from "../db/SurveyRec";