diff --git a/game-server/app/servers/activity/handler/gachaHandler.ts b/game-server/app/servers/activity/handler/gachaHandler.ts index 58b283b10..ef3493c8a 100644 --- a/game-server/app/servers/activity/handler/gachaHandler.ts +++ b/game-server/app/servers/activity/handler/gachaHandler.ts @@ -263,7 +263,8 @@ export class GachaHandler { let activityData = await ActivityModel.findActivity(activityId); if (!activityData) return resResult(STATUS.ACTIVITY_MISSING); - let gachaData = new GachaData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let gachaData = new GachaData(activityData, createTime); heroes = gachaData.heroes; if (!heroes.includes(pickHero)) { return resResult(STATUS.GACHA_CAN_NOT_PICK) diff --git a/game-server/app/servers/activity/handler/newHeroGachaHandler.ts b/game-server/app/servers/activity/handler/newHeroGachaHandler.ts index 5b1c7d0f0..1fd00314a 100644 --- a/game-server/app/servers/activity/handler/newHeroGachaHandler.ts +++ b/game-server/app/servers/activity/handler/newHeroGachaHandler.ts @@ -57,7 +57,8 @@ export class NewHeroGachaHandler { const serverId = session.get('serverId'); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new NewHeroGachaData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new NewHeroGachaData(activityData, createTime); for (let pageData of playerData.list) { await ActivityNewHeroGachaModel.selectedHero(serverId, activityId, roleId, pageData.hid, pageData.hid == hid); } diff --git a/game-server/app/servers/activity/handler/selfServiceShopHandler.ts b/game-server/app/servers/activity/handler/selfServiceShopHandler.ts index a3f317b00..39820d1c5 100644 --- a/game-server/app/servers/activity/handler/selfServiceShopHandler.ts +++ b/game-server/app/servers/activity/handler/selfServiceShopHandler.ts @@ -10,6 +10,7 @@ import { ActivityModel, ActivityModelType } from '../../../db/Activity'; import { addSelfServiceShopGiftReward, getSelfServiceShopActivityData, getPlayerActivityData } from '../../../services/activity/selfServiceShopActivityService'; import { addReward, stringToConsumeParam, stringToRewardParam } from '../../../services/activity/giftPackageService'; import { random } from 'underscore'; +import { RoleModel } from '../../../db/Role'; export default function (app: Application) { return new SelfServiceShopHandler(app); @@ -53,7 +54,8 @@ export class SelfServiceShopHandler { const funcs: number[] = session.get('funcs'); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new SelfServiceShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SelfServiceShopData(activityData, createTime); let item = playerData.getItem(index); if (item.countMax > 0) {//限制购买次数 @@ -112,7 +114,8 @@ export class SelfServiceShopHandler { const funcs: number[] = session.get('funcs'); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new SelfServiceShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SelfServiceShopData(activityData, createTime); let unitPrice = playerData.unitPrice;//购买价格 let unitCountMax = playerData.unitCountMax;//最大购买次数 let unitReward = playerData.unitReward;//购买获得资源 diff --git a/game-server/app/servers/activity/handler/thirtyDaysHandler.ts b/game-server/app/servers/activity/handler/thirtyDaysHandler.ts index c9e95e94a..56d57522d 100644 --- a/game-server/app/servers/activity/handler/thirtyDaysHandler.ts +++ b/game-server/app/servers/activity/handler/thirtyDaysHandler.ts @@ -60,7 +60,7 @@ export class ThirtyDaysHandler { let activityDays = 0; for (let i = 0; i < activityArray.length; i++) { - let playerData = new ThirtyDaysData(activityArray[i]); + let playerData = new ThirtyDaysData(activityArray[i], roleId); if (playerData.activityId != activityId) { activityDays += playerData.days;//周期天数 } else { diff --git a/game-server/app/servers/activity/handler/treasureHuntHandler.ts b/game-server/app/servers/activity/handler/treasureHuntHandler.ts index 6490c7500..8acd13bb2 100644 --- a/game-server/app/servers/activity/handler/treasureHuntHandler.ts +++ b/game-server/app/servers/activity/handler/treasureHuntHandler.ts @@ -34,7 +34,7 @@ export class TreasureHuntHandler { const { activityId } = msg; const roleId = session.get('roleId'); const serverId = session.get('serverId'); - let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId); + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); if (!activityData) { return resResult(STATUS.ACTIVITY_MISSING, {}); } @@ -57,7 +57,7 @@ export class TreasureHuntHandler { const roleName = session.get('roleName'); const funcs: number[] = session.get('funcs'); - let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId); + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); if (!activityData) { return resResult(STATUS.ACTIVITY_MISSING, {}); } @@ -98,7 +98,7 @@ export class TreasureHuntHandler { const roleName = session.get('roleName'); const funcs: number[] = session.get('funcs'); - let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId); + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); if (!activityData) { return resResult(STATUS.ACTIVITY_MISSING, {}); } @@ -150,7 +150,7 @@ export class TreasureHuntHandler { const roleName = session.get('roleName'); const funcs: number[] = session.get('funcs'); - let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId); + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); if (!activityData) { return resResult(STATUS.ACTIVITY_MISSING, {}); } @@ -197,7 +197,7 @@ export class TreasureHuntHandler { const roleName = session.get('roleName'); const funcs: number[] = session.get('funcs'); - let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId); + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); if (!activityData) { return resResult(STATUS.ACTIVITY_MISSING, {}); } @@ -234,7 +234,7 @@ export class TreasureHuntHandler { const roleName = session.get('roleName'); const funcs: number[] = session.get('funcs'); - let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId); + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); if (!activityData) { return resResult(STATUS.ACTIVITY_MISSING, {}); } diff --git a/game-server/app/services/activity/activityService.ts b/game-server/app/services/activity/activityService.ts index 03fc764b9..0dc660b93 100644 --- a/game-server/app/services/activity/activityService.ts +++ b/game-server/app/services/activity/activityService.ts @@ -113,7 +113,7 @@ export async function getActivity(serverId: number, roleId: string, activityId: } case ACTIVITY_TYPE.TREASURE_HUNT://寻宝骑兵活动 23 { - let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } = await getTreasureHuntData(serverId); + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } = await getTreasureHuntData(serverId, roleId); activityData = await getPlayerTreasureHuntData(activityId, serverId, roleId, huntRoundIndex, huntBeginTime, huntEndTime); break; } diff --git a/game-server/app/services/activity/dailyChallengesService.ts b/game-server/app/services/activity/dailyChallengesService.ts index acbfb3896..3ea98ddcb 100644 --- a/game-server/app/services/activity/dailyChallengesService.ts +++ b/game-server/app/services/activity/dailyChallengesService.ts @@ -1,6 +1,7 @@ import { ACTIVITY_TYPE } from '../../consts'; import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '../../db/ActivityDailyChallenges'; +import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { DailyChallengesData, DailyItem } from '../../domain/activityField/dailyChallengesField'; @@ -21,7 +22,8 @@ export async function dailyChallengesActivity(serverId: number, roleId: string) } let activityData: ActivityModelType = activityDataArray[0]; let playerRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityData.activityId, roleId); - let playerData = new DailyChallengesData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyChallengesData(activityData, createTime); playerData.setPlayerRecords(playerRecords); return playerData; } @@ -38,8 +40,8 @@ export async function dailyChallengesActivity(serverId: number, roleId: string) export async function getPlayerDailyChallengesData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let playerRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityId, roleId); - - let playerData = new DailyChallengesData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyChallengesData(activityData, createTime); playerData.setPlayerRecords(playerRecords); return playerData; diff --git a/game-server/app/services/activity/dailyCoinService.ts b/game-server/app/services/activity/dailyCoinService.ts index 2bf86e10b..6964622c5 100644 --- a/game-server/app/services/activity/dailyCoinService.ts +++ b/game-server/app/services/activity/dailyCoinService.ts @@ -2,6 +2,7 @@ import { ACTIVITY_TYPE, DAILY_MEAL_TYPE } from '../../consts'; import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityDailyCoinModel, ActivityDailyCoinModelType } from '../../db/ActivityDailyCoin'; import { ActivityGroupModel } from '../../db/ActivityGroup'; +import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { DailyCoinData } from '../../domain/activityField/dailyCoinField'; @@ -21,7 +22,8 @@ export async function dailyCoinActivity(serverId: number, roleId: string) { return null; } let activityData: ActivityModelType = activityDataArray[0]; - let playerData = new DailyCoinData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyCoinData(activityData, createTime); let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.beginTime); playerData.setPlayerRecords(playerRecord); @@ -39,7 +41,8 @@ export async function dailyCoinActivity(serverId: number, roleId: string) { */ export async function getPlayerDailyCoinData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new DailyCoinData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyCoinData(activityData, createTime); let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.beginTime); playerData.setPlayerRecords(playerRecord); diff --git a/game-server/app/services/activity/dailyGKService.ts b/game-server/app/services/activity/dailyGKService.ts index 2605eeeaa..040271936 100644 --- a/game-server/app/services/activity/dailyGKService.ts +++ b/game-server/app/services/activity/dailyGKService.ts @@ -1,6 +1,7 @@ import { ACTIVITY_TYPE } from '../../consts'; import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityDailyGKModel, ActivityDailyGKModelType } from '../../db/ActivityDailyGK'; +import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { DailyGKData, DailyGKItem } from '../../domain/activityField/dailyGKField'; @@ -21,7 +22,8 @@ export async function dailyGKActivity(serverId: number, roleId: string) { } let activityData: ActivityModelType = activityDataArray[0]; let playerRecord: ActivityDailyGKModelType = await ActivityDailyGKModel.findData(serverId, activityData.activityId, roleId); - let playerData = new DailyGKData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyGKData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; } @@ -38,8 +40,8 @@ export async function dailyGKActivity(serverId: number, roleId: string) { export async function getPlayerDailyGKData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let playerRecord: ActivityDailyGKModelType = await ActivityDailyGKModel.findData(serverId, activityId, roleId); - - let playerData = new DailyGKData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyGKData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; @@ -55,7 +57,8 @@ export async function getPlayerDailyGKData(activityId: number, serverId: number, export async function challengeDailyGK(serverId: number, roleId: string, activityId: number, gk: number) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new DailyGKData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyGKData(activityData, createTime); let item = playerData.findItemByGK(gk); if (item) { let dayIndex = item.dayIndex; diff --git a/game-server/app/services/activity/dailyGiftsService.ts b/game-server/app/services/activity/dailyGiftsService.ts index 27e8ace0b..356d5d851 100644 --- a/game-server/app/services/activity/dailyGiftsService.ts +++ b/game-server/app/services/activity/dailyGiftsService.ts @@ -1,6 +1,7 @@ import { ACTIVITY_TYPE } from '../../consts'; import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts'; +import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { DailyGiftsData } from '../../domain/activityField/dailyGiftsField'; @@ -22,7 +23,8 @@ export async function dailyGiftsActivity(serverId: number, roleId: string) { } let activityData: ActivityModelType = activityDataArray[0]; let playerRecords: ActivityDailyGiftsModelType[] = await ActivityDailyGiftsModel.findData(serverId, activityData.activityId, roleId); - let playerData = new DailyGiftsData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyGiftsData(activityData, createTime); playerData.setPlayerRecords(playerRecords); return playerData; } @@ -39,8 +41,8 @@ export async function dailyGiftsActivity(serverId: number, roleId: string) { export async function getPlayerDailyGiftsData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let playerRecords: ActivityDailyGiftsModelType[] = await ActivityDailyGiftsModel.findData(serverId, activityId, roleId); - - let playerData = new DailyGiftsData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyGiftsData(activityData, createTime); playerData.setPlayerRecords(playerRecords); return playerData; diff --git a/game-server/app/services/activity/dailyMealService.ts b/game-server/app/services/activity/dailyMealService.ts index 19e80456d..5e4d28fb5 100644 --- a/game-server/app/services/activity/dailyMealService.ts +++ b/game-server/app/services/activity/dailyMealService.ts @@ -1,6 +1,7 @@ import { ACTIVITY_TYPE, DAILY_MEAL_TYPE } from '../../consts'; import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityDailyMealModel, ActivityDailyMealModelType } from '../../db/ActivityDailyMeal'; +import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { DailyMealData } from '../../domain/activityField/dailyMealField'; @@ -20,7 +21,8 @@ export async function dailyMealActivity(serverId: number, roleId: string) { return null; } let activityData: ActivityModelType = activityDataArray[0]; - let playerData = new DailyMealData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyMealData(activityData, createTime); let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.beginTime, playerData.endTime); let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.beginTime, playerData.endTime); @@ -39,7 +41,8 @@ export async function dailyMealActivity(serverId: number, roleId: string) { */ export async function getPlayerDailyMealData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new DailyMealData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyMealData(activityData, createTime); let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.beginTime, playerData.endTime); let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.beginTime, playerData.endTime); diff --git a/game-server/app/services/activity/dailyRMBGiftsService.ts b/game-server/app/services/activity/dailyRMBGiftsService.ts index ab0c3c1cc..a91bf13ce 100644 --- a/game-server/app/services/activity/dailyRMBGiftsService.ts +++ b/game-server/app/services/activity/dailyRMBGiftsService.ts @@ -6,6 +6,7 @@ import moment = require('moment'); import { RewardParam } from '../../domain/activityField/rewardField'; import { addReward, stringToRewardParam } from './giftPackageService'; import { ServerlistModel } from '../../db/Serverlist'; +import { RoleModel } from '../../db/Role'; /** * 获取活动数据 @@ -38,8 +39,8 @@ export async function dailyRMBGiftsActivity(serverId: number, roleId: string) { */ export async function getPlayerDailyRMBGiftsData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - - let playerData = new DailyRMBGiftsData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyRMBGiftsData(activityData, createTime); // let productID = playerData.productID; // let playerOrders: UserOrderModelType[] = await UserOrderModel.findPlayerOrder(productID, roleId, activityId, 1); // let buyTime = moment(new Date()).startOf('d').toDate() @@ -72,7 +73,8 @@ export async function makeDailyRMBGiftsReward(roleId: string, roleName: string, code: STATUS.ACTIVITY_TYPE_ERROR, } } - let playerData = new DailyRMBGiftsData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new DailyRMBGiftsData(activityData, createTime); let bigGiftProductID = playerData.productID; if (bigGiftProductID == productID) {//一次性购买7天礼包 let playerRecord: ActivityDailyRMBGiftsModelType = await ActivityDailyRMBGiftsModel.findRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate()); diff --git a/game-server/app/services/activity/firstGiftService.ts b/game-server/app/services/activity/firstGiftService.ts index 052c6f57e..70c1116d6 100644 --- a/game-server/app/services/activity/firstGiftService.ts +++ b/game-server/app/services/activity/firstGiftService.ts @@ -1,6 +1,7 @@ import { ACTIVITY_TYPE, TASK_TYPE } from '../../consts'; import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityFirstGiftModel, ActivityFirstGiftModelType } from '../../db/ActivityFirstGift'; +import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { FirstGiftData } from '../../domain/activityField/firstGiftField'; @@ -26,7 +27,8 @@ export async function firstGiftActivity(serverId: number, roleId: string) { return null; } - let playerData = new FirstGiftData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new FirstGiftData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; } @@ -43,7 +45,8 @@ export async function getPlayerFirstGiftData(activityId: number, serverId: numbe let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let playerRecord: ActivityFirstGiftModelType = await ActivityFirstGiftModel.findData(activityId, roleId); - let playerData = new FirstGiftData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new FirstGiftData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; } diff --git a/game-server/app/services/activity/gachaService.ts b/game-server/app/services/activity/gachaService.ts index 19eb6640b..9d35df2f9 100644 --- a/game-server/app/services/activity/gachaService.ts +++ b/game-server/app/services/activity/gachaService.ts @@ -6,6 +6,7 @@ import { shouldRefresh, getRandEelm, getRandEelmWithWeight } from "../../pubUtil import { REFRESH_TIME, GACHA_TO_FLOOR, GACHA_FLOOR_TYPE, GACHA_CONTENT_TYPE, HERO_QUALITY_TYPE, GACHA_OCCUPY_HID, IT_TYPE, ITID, CONSUME_TYPE, SPECIAL_ATTR, TIME_OUTPUT_TYPE, GACHA_ID } from "../../consts"; import { getTimeFunD, getZeroPointD } from "../../pubUtils/timeUtil"; import { gameData, getDicGachaFloor } from "../../pubUtils/data"; +import { RoleModel } from "../../db/Role"; /** * 获取招募列表 @@ -37,7 +38,8 @@ export async function getLimitGacha(serverId: number, roleId: string, activityId let activityData = await ActivityModel.findActivity(activityId); if (!activityData) return false; - let gachaData = new GachaData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let gachaData = new GachaData(activityData, createTime); let userGacha = await UserGachaModel.findByRole(roleId, gachaData.gachaId, activityId); userGacha = await refreshGacha(gameData.gacha.get(gachaData.gachaId), userGacha); gachaData.setUserGacha(userGacha); diff --git a/game-server/app/services/activity/growthFundService.ts b/game-server/app/services/activity/growthFundService.ts index ba7591ab3..1bf9b8ffd 100644 --- a/game-server/app/services/activity/growthFundService.ts +++ b/game-server/app/services/activity/growthFundService.ts @@ -48,7 +48,8 @@ export async function getPlayerGrowthFundData(activityId: number, serverId: numb let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activityId, roleId); - let playerData = new GrowthFundData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new GrowthFundData(activityData, createTime); playerData.setPlayerRecords(playerRecords); if (playerData.isVipActivity()) {//vip高阶需要购买 let buyRecords = await ActivityBuyRecordsModel.findRecordsByActivityId(activityData.activityId, roleId); @@ -132,7 +133,8 @@ export async function makeGrowthFund(roleId: string, roleName: string, sid: stri if (activityData.type !== ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP && activityData.type !== ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP && activityData.type !== ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP) { return STATUS.ACTIVITY_TYPE_ERROR; } - let playerData = new GrowthFundData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new GrowthFundData(activityData, createTime); let pageData = playerData.findPageByProductID(productID); let pageIndex = pageData.pageIndex; await ActivityBuyRecordsModel.addRecord(activityId, roleId, activityData.type, pageIndex, true); diff --git a/game-server/app/services/activity/growthService.ts b/game-server/app/services/activity/growthService.ts index 876971383..f11411bc4 100644 --- a/game-server/app/services/activity/growthService.ts +++ b/game-server/app/services/activity/growthService.ts @@ -3,6 +3,7 @@ import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityGrowthModel, ActivityGrowthModelType } from '../../db/ActivityGrowth'; import { ActivityGrowthPointModel, ActivityGrowthPointModelType } from '../../db/ActivityGrowthPoint'; import { HeroModel } from '../../db/Hero'; +import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { GrowthData, GrowthItem } from '../../domain/activityField/growthField'; @@ -25,7 +26,8 @@ export async function growthActivity(serverId: number, roleId: string) { let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityData.activityId, roleId); let userHeroes = await HeroModel.findByRole(roleId); - let playerData = new GrowthData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new GrowthData(activityData, createTime); await playerData.setPlayerRecords(playerRecords, roleId, userHeroes); playerData.setPlayerPointRecord(playerPointRecord); return playerData; @@ -46,7 +48,8 @@ export async function getPlayerGrowthData(activityId: number, serverId: number, let userHeroes = await HeroModel.findByRole(roleId); - let playerData = new GrowthData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new GrowthData(activityData, createTime); await playerData.setPlayerRecords(playerRecords, roleId, userHeroes); playerData.setPlayerPointRecord(playerPointRecord); return playerData; diff --git a/game-server/app/services/activity/limitPackageService.ts b/game-server/app/services/activity/limitPackageService.ts index 6c6c82be6..73d203114 100644 --- a/game-server/app/services/activity/limitPackageService.ts +++ b/game-server/app/services/activity/limitPackageService.ts @@ -24,7 +24,8 @@ export async function newPlayerLimitPackageActivity(serverId: number, roleId: st return null; } let activityData = activityArray[0]; - let playerData = new LimitShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new LimitShopData(activityData, createTime); let playerRecord: ActivityShopModelType = await ActivityShopModel.findData(activityData.activityId, roleId, playerData.roundIndex); playerData.setPlayerRecords(playerRecord); @@ -41,7 +42,8 @@ export async function newPlayerLimitPackageActivity(serverId: number, roleId: st */ export async function getPlayerLimitPackageData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new LimitShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new LimitShopData(activityData, createTime); let playerRecord: ActivityShopModelType = await ActivityShopModel.findData(activityId, roleId, playerData.roundIndex); playerData.setPlayerRecords(playerRecord); @@ -110,7 +112,8 @@ export async function makeLimitPackageReward(roleId: string, roleName: string, s activityData.type !== ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_WEEKLY) { return STATUS.ACTIVITY_TYPE_ERROR; } - let playerData = new LimitShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new LimitShopData(activityData, createTime); let playerRecord: ActivityShopModelType = await ActivityShopModel.findData(activityData.activityId, roleId, playerData.roundIndex); playerData.setPlayerRecords(playerRecord); diff --git a/game-server/app/services/activity/monopolyService.ts b/game-server/app/services/activity/monopolyService.ts index 0329b47d7..330d19cc2 100644 --- a/game-server/app/services/activity/monopolyService.ts +++ b/game-server/app/services/activity/monopolyService.ts @@ -2,6 +2,7 @@ import { ACTIVITY_TYPE } from '../../consts'; import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityMonopolyModel, ActivityMonopolyModelType } from '../../db/ActivityMonopoly'; import { ActivityMonopolyLandModel, ActivityMonopolyLandModelType } from '../../db/ActivityMonopolyLand'; +import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { MonopolyData, LandItem } from '../../domain/activityField/monopolyField'; @@ -23,7 +24,8 @@ export async function getMonopolyActivity(serverId: number, roleId: string) { let activityData: ActivityModelType = activityDataArray[0]; let playerMonopolyData: ActivityMonopolyModelType = await ActivityMonopolyModel.findData(serverId, activityData.activityId, roleId); let playerLandData: ActivityMonopolyLandModelType[] = await ActivityMonopolyLandModel.findData(serverId, activityData.activityId, roleId); - let playerData = new MonopolyData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new MonopolyData(activityData, createTime); playerData.setPlayerRecords(playerMonopolyData, playerLandData); return playerData; } @@ -44,7 +46,8 @@ export async function getPlayerMonopolyData(activityId: number, serverId: number } let playerMonopolyData: ActivityMonopolyModelType = await ActivityMonopolyModel.findData(serverId, activityData.activityId, roleId); let playerLandData: ActivityMonopolyLandModelType[] = await ActivityMonopolyLandModel.findData(serverId, activityData.activityId, roleId); - let playerData = new MonopolyData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new MonopolyData(activityData, createTime); playerData.setPlayerRecords(playerMonopolyData, playerLandData); return playerData; } diff --git a/game-server/app/services/activity/monthlyTicketService.ts b/game-server/app/services/activity/monthlyTicketService.ts index 741f0be73..09aa89276 100644 --- a/game-server/app/services/activity/monthlyTicketService.ts +++ b/game-server/app/services/activity/monthlyTicketService.ts @@ -7,6 +7,7 @@ import { addReward, stringToRewardInter, stringToRewardParam } from './giftPacka import moment = require('moment'); import { ServerlistModel } from '../../db/Serverlist'; import { sendMailByContent } from './../mailService'; +import { RoleModel } from '../../db/Role'; /** * 获取活动数据 @@ -28,7 +29,8 @@ export async function monthlyTicketActivity(serverId: number, roleId: string, ty } let activityData = activityArray[0]; let playerRecord: ActivityMonthlyTicketModelType = await ActivityMonthlyTicketModel.findMonthlyTicket(serverId, roleId, activityData.activityId); - let playerData = new MonthlyTicketData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new MonthlyTicketData(activityData, createTime); playerData.setPlayerRecords(playerRecord); if ((playerData.price > 0 && playerData.isOpen) || playerData.price === 0) { @@ -56,7 +58,8 @@ export async function monthlyTicketActivity(serverId: number, roleId: string, ty export async function getPlayerMonthlyTicketData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let playerRecord: ActivityMonthlyTicketModelType = await ActivityMonthlyTicketModel.findMonthlyTicket(serverId, roleId, activityId); - let playerData = new MonthlyTicketData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new MonthlyTicketData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; } @@ -72,7 +75,8 @@ export async function getPlayerMonthlyTicketData(activityId: number, serverId: n export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], activityId: number,) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new MonthlyTicketData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new MonthlyTicketData(activityData, createTime); let playerRecord: ActivityMonthlyTicketModelType = await ActivityMonthlyTicketModel.findMonthlyTicket(serverId, roleId, activityId); if (playerData.price > 0 && !playerRecord) {//没有购买过 @@ -107,7 +111,8 @@ export async function makeMonthlyTicketReward(roleId: string, roleName: string, return STATUS.ACTIVITY_TYPE_ERROR; } - let playerData = new MonthlyTicketData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new MonthlyTicketData(activityData, createTime); let endTime = moment(new Date()).startOf('d').add(playerData.days, 'day').toDate(); console.log('endTime', moment(new Date()).startOf('d'), endTime, playerData.days) diff --git a/game-server/app/services/activity/newHeroGKService.ts b/game-server/app/services/activity/newHeroGKService.ts index f00a2b7e7..c3c5e075e 100644 --- a/game-server/app/services/activity/newHeroGKService.ts +++ b/game-server/app/services/activity/newHeroGKService.ts @@ -1,6 +1,7 @@ import { ACTIVITY_TYPE } from '../../consts'; import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityNewHeroGKModel, ActivityNewHeroGKModelType } from '../../db/ActivityNewHeroGK'; +import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { NewHeroGKData, NewHeroGKItem } from '../../domain/activityField/newHeroGKField'; @@ -21,7 +22,8 @@ export async function newHeroGKActivity(serverId: number, roleId: string) { } let activityData: ActivityModelType = activityDataArray[0]; let playerRecord: ActivityNewHeroGKModelType = await ActivityNewHeroGKModel.findData(serverId, activityData.activityId, roleId); - let playerData = new NewHeroGKData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new NewHeroGKData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; } @@ -39,7 +41,8 @@ export async function getPlayerNewHeroGKData(activityId: number, serverId: numbe let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let playerRecord: ActivityNewHeroGKModelType = await ActivityNewHeroGKModel.findData(serverId, activityId, roleId); - let playerData = new NewHeroGKData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new NewHeroGKData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; @@ -57,7 +60,8 @@ export async function challengeNewHeroGK(serverId: number, roleId: string, activ let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let playerRecords = await ActivityNewHeroGKModel.findData(serverId, activityId, roleId); let records = playerRecords && playerRecords.records ? playerRecords.records : []; - let playerData = new NewHeroGKData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new NewHeroGKData(activityData, createTime); let item = playerData.findItemByGK(pageIndex, gk); if (item) { let index = item.index; diff --git a/game-server/app/services/activity/newHeroGachaService.ts b/game-server/app/services/activity/newHeroGachaService.ts index 2dee86fd3..3c1f093ac 100644 --- a/game-server/app/services/activity/newHeroGachaService.ts +++ b/game-server/app/services/activity/newHeroGachaService.ts @@ -1,6 +1,7 @@ import { ACTIVITY_TYPE } from '../../consts'; import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityNewHeroGachaModel, ActivityNewHeroGachaModelType } from '../../db/ActivityNewHeroGacha'; +import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { NewHeroGachaData } from '../../domain/activityField/newHeroGachaField'; @@ -21,7 +22,8 @@ export async function newHeroGachaActivity(serverId: number, roleId: string) { } let activityData: ActivityModelType = activityDataArray[0]; let playerRecord: ActivityNewHeroGachaModelType[] = await ActivityNewHeroGachaModel.findData(serverId, activityData.activityId, roleId); - let playerData = new NewHeroGachaData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new NewHeroGachaData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; } @@ -39,7 +41,8 @@ export async function getPlayerNewHeroGachaData(activityId: number, serverId: nu let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let playerRecord: ActivityNewHeroGachaModelType[] = await ActivityNewHeroGachaModel.findData(serverId, activityId, roleId); - let playerData = new NewHeroGachaData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new NewHeroGachaData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; diff --git a/game-server/app/services/activity/newHeroGiftsService.ts b/game-server/app/services/activity/newHeroGiftsService.ts index bbf8da885..d76da3351 100644 --- a/game-server/app/services/activity/newHeroGiftsService.ts +++ b/game-server/app/services/activity/newHeroGiftsService.ts @@ -3,6 +3,7 @@ import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityNewHeroGiftModel, ActivityNewHeroGiftModelType } from '../../db/ActivityNewHeroGift'; import { NewHeroGiftData } from '../../domain/activityField/newHeroGiftField'; import { ServerlistModel } from '../../db/Serverlist'; +import { RoleModel } from '../../db/Role'; /** * 获取活动数据 @@ -36,7 +37,8 @@ export async function getNewHeroGiftsActivity(serverId: number, roleId: string) export async function getPlayerNewHeroGiftsData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new NewHeroGiftData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new NewHeroGiftData(activityData, createTime); let playerRecord: ActivityNewHeroGiftModelType = await ActivityNewHeroGiftModel.findData(serverId, activityId, roleId); playerData.setPlayerRecords(playerRecord); return playerData; diff --git a/game-server/app/services/activity/rechargeMoneyService.ts b/game-server/app/services/activity/rechargeMoneyService.ts index eeb89a32d..8a4f37e3d 100644 --- a/game-server/app/services/activity/rechargeMoneyService.ts +++ b/game-server/app/services/activity/rechargeMoneyService.ts @@ -4,6 +4,7 @@ import { ActivityRechargeMoneyModel, ActivityRechargeMoneyModelType } from '../. import { RechargeMoneyData, RechargeMoneyItem } from '../../domain/activityField/rechargeMoneyField'; import moment = require('moment'); import { ServerlistModel } from '../../db/Serverlist'; +import { RoleModel } from '../../db/Role'; /** * 获取活动数据 @@ -20,7 +21,8 @@ export async function rechargeMoneyActivity(serverId: number, roleId: string) { let activityData = activityArray[0]; let playerRecord: ActivityRechargeMoneyModelType[] = await ActivityRechargeMoneyModel.findData(serverId, roleId); - let playerData = new RechargeMoneyData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new RechargeMoneyData(activityData, createTime); playerData.setPlayerRecords(playerRecord); delete playerData.recordArray; return playerData; @@ -45,7 +47,8 @@ export async function getPlayerRechargeMoneyData(activityId: number, serverId: n let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let playerRecord: ActivityRechargeMoneyModelType[] = await ActivityRechargeMoneyModel.findData(serverId, roleId); - let playerData = new RechargeMoneyData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new RechargeMoneyData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; } diff --git a/game-server/app/services/activity/refreshShopService.ts b/game-server/app/services/activity/refreshShopService.ts index 9cf9b5ebd..ff74e3305 100644 --- a/game-server/app/services/activity/refreshShopService.ts +++ b/game-server/app/services/activity/refreshShopService.ts @@ -24,7 +24,8 @@ export async function getRefreshShopActivity(serverId: number, roleId: string) { return null; } let activityData = activityArray[0]; - let playerData = new RefreshShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new RefreshShopData(activityData, createTime); let playerRecord: ActivityRefreshShopModelType = await ActivityRefreshShopModel.findData(activityData.activityId, roleId, playerData.roundIndex); if (!playerRecord) {//生成商店可购买商品的数据 @@ -46,7 +47,8 @@ export async function getRefreshShopActivity(serverId: number, roleId: string) { */ export async function getPlayerRefreshShopData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new RefreshShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new RefreshShopData(activityData, createTime); let playerRecord: ActivityRefreshShopModelType = await ActivityRefreshShopModel.findData(activityId, roleId, playerData.roundIndex); if (!playerRecord) {//生成商店可购买商品的数据 @@ -68,7 +70,8 @@ export async function getPlayerRefreshShopData(activityId: number, serverId: num */ export async function getPlayerRefreshShopDataByRoundIndex(activityId: number, serverId: number, roleId: string, roundIndex: number) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new RefreshShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new RefreshShopData(activityData, createTime); playerData.roundIndex = roundIndex; let playerRecord: ActivityRefreshShopModelType = await ActivityRefreshShopModel.findData(activityId, roleId, playerData.roundIndex); if (!playerRecord) {//生成商店可购买商品的数据 @@ -117,7 +120,8 @@ export async function makeRefreshShopReward(roleId: string, roleName: string, si if (activityData.type !== ACTIVITY_TYPE.REFRESH_SHOP) { return STATUS.ACTIVITY_TYPE_ERROR; } - let playerData = new RefreshShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new RefreshShopData(activityData, createTime); if (roundIndex) { playerData.roundIndex = roundIndex; } diff --git a/game-server/app/services/activity/refreshTaskService.ts b/game-server/app/services/activity/refreshTaskService.ts index 31d3a8910..73a624ff9 100644 --- a/game-server/app/services/activity/refreshTaskService.ts +++ b/game-server/app/services/activity/refreshTaskService.ts @@ -2,6 +2,7 @@ import { ACTIVITY_TYPE } from '../../consts'; import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityRefreshTaskModel, ActivityRefreshTaskModelType } from '../../db/ActivityRefreshTask'; import { ActivityRefreshTaskPointModel, ActivityRefreshTaskPointModelType } from '../../db/ActivityRefreshTaskPoint'; +import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { RefreshTaskData, RefreshTaskItem } from '../../domain/activityField/refreshTaskField'; @@ -21,7 +22,8 @@ export async function getRefreshTaskActivity(serverId: number, roleId: string) { return null; } let activityData: ActivityModelType = activityDataArray[0]; - let playerData = new RefreshTaskData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new RefreshTaskData(activityData, createTime); let playerRecords: ActivityRefreshTaskModelType[] = await ActivityRefreshTaskModel.findData(serverId, activityData.activityId, roleId, playerData.roundIndex); let pointRecordData: ActivityRefreshTaskPointModelType = await ActivityRefreshTaskPointModel.findData(serverId, activityData.activityId, roleId); playerData.setPlayerRecords(playerRecords, pointRecordData); @@ -39,7 +41,8 @@ export async function getRefreshTaskActivity(serverId: number, roleId: string) { */ export async function getPlayerRefreshTaskData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new RefreshTaskData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new RefreshTaskData(activityData, createTime); let playerRecords: ActivityRefreshTaskModelType[] = await ActivityRefreshTaskModel.findData(serverId, activityId, roleId, playerData.roundIndex); let pointRecordData: ActivityRefreshTaskPointModelType = await ActivityRefreshTaskPointModel.findData(serverId, activityId, roleId); playerData.setPlayerRecords(playerRecords, pointRecordData); diff --git a/game-server/app/services/activity/selfServiceShopActivityService.ts b/game-server/app/services/activity/selfServiceShopActivityService.ts index 89d017044..4aa589e5f 100644 --- a/game-server/app/services/activity/selfServiceShopActivityService.ts +++ b/game-server/app/services/activity/selfServiceShopActivityService.ts @@ -8,6 +8,7 @@ import { RewardParam } from '../../domain/activityField/rewardField'; import { SelfServiceShopData, SelfServiceShopItem } from '../../domain/activityField/selfServiceShopField'; import { addReward, getSelectedReward, stringToRewardParam } from './giftPackageService'; import moment = require('moment'); +import { RoleModel } from '../../db/Role'; /** * 获取活动数据 @@ -41,7 +42,8 @@ export async function getSelfServiceShopActivityData(serverId: number, roleId: s */ export async function getPlayerActivityData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new SelfServiceShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SelfServiceShopData(activityData, createTime); let playerRecords: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.findDataByPriceType(serverId, activityId, roleId, playerData.roundIndex); @@ -124,7 +126,8 @@ export async function makeSelfServerShop(roleId: string, roleName: string, sid: code: STATUS.ACTIVITY_MISSING, } } - let playerData = new SelfServiceShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SelfServiceShopData(activityData, createTime); let item: SelfServiceShopItem = playerData.getItemByProductID(productID); if (!item) { return { diff --git a/game-server/app/services/activity/sevenDaysService.ts b/game-server/app/services/activity/sevenDaysService.ts index 65e4c59f2..5e4ec940c 100644 --- a/game-server/app/services/activity/sevenDaysService.ts +++ b/game-server/app/services/activity/sevenDaysService.ts @@ -6,6 +6,7 @@ import { ServerlistModel } from '../../db/Serverlist'; import { SevenDaysData } from '../../domain/activityField/sevenDaysField'; import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '../../db/ActivityDailyChallenges'; import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../../db/ActivityDailyGifts'; +import { RoleModel } from '../../db/Role'; /** * 获取活动数据 @@ -22,8 +23,8 @@ export async function sevenDaysActivity(serverId: number, roleId: string, type: return null; } let activityData: ActivityModelType = activityDataArray[0]; - - let playerData = new SevenDaysData(activityData) + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SevenDaysData(activityData, createTime) //成长数据 let playerGrowthRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityData.activityId, roleId); let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityData.activityId, roleId); @@ -50,8 +51,8 @@ export async function sevenDaysActivity(serverId: number, roleId: string, type: */ export async function getPlayerSevenDaysData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - - let playerData = new SevenDaysData(activityData) + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SevenDaysData(activityData, createTime) //成长数据 let playerGrowthRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId); let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId); @@ -78,8 +79,8 @@ export async function getPlayerSevenDaysData(activityId: number, serverId: numbe */ export async function getPlayerSevenDaysGrowthData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - - let playerData = new SevenDaysData(activityData) + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SevenDaysData(activityData, createTime) //成长数据 let playerGrowthRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId); let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId); @@ -100,8 +101,8 @@ export async function getPlayerSevenDaysGrowthData(activityId: number, serverId: */ export async function getPlayerSevenDaysDailyChallengesData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - - let playerData = new SevenDaysData(activityData) + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SevenDaysData(activityData, createTime) //今日挑战 let playerDailyChallengeRecords: ActivityDailyChallengesModelType[] = await ActivityDailyChallengesModel.findData(serverId, activityId, roleId); playerData.dailyChallenge.setPlayerRecords(playerDailyChallengeRecords); @@ -119,7 +120,8 @@ export async function getPlayerSevenDaysDailyChallengesData(activityId: number, export async function getPlayerSevenDaysDailyGiftsData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new SevenDaysData(activityData) + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SevenDaysData(activityData, createTime) //每日特惠礼包 let playerRecords: ActivityDailyGiftsModelType[] = await ActivityDailyGiftsModel.findData(serverId, activityId, roleId); playerData.dailyGift.setPlayerRecords(playerRecords); diff --git a/game-server/app/services/activity/signInService.ts b/game-server/app/services/activity/signInService.ts index 338de4bd1..c6968c564 100644 --- a/game-server/app/services/activity/signInService.ts +++ b/game-server/app/services/activity/signInService.ts @@ -22,7 +22,8 @@ export async function signInActivity(serverId: number, roleId: string) { return null; } let activityData = activityArray[0]; - let playerData = new SignInData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SignInData(activityData, createTime); let curDate = moment(new Date()).valueOf(); if (curDate < playerData.beginTime || curDate > playerData.endTime) {//未开启 return null; @@ -48,7 +49,8 @@ export async function signInVIPActivity(serverId: number, roleId: string) { return null; } let activityData = activityArray[0]; - let playerData = new SignInData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SignInData(activityData, createTime); let curDate = moment(new Date()).valueOf(); if (curDate < playerData.beginTime || curDate > playerData.endTime) {//未开启 @@ -77,9 +79,9 @@ export async function newPlayerSignInActivity(serverId: number, roleId: string) return null; } let activityData = activityArray[0]; - let playerData = new SignInData(activityData); - let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SignInData(activityData, createTime); + let betinTime = null; let endTime = null let curDate = moment(createTime * 1000); @@ -119,7 +121,8 @@ export async function getPlayerSignInData(activityId: number, serverId: number, && activityData.type !== ACTIVITY_TYPE.COMMON_SIGN_IN) { return null; } - let playerData = new SignInData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SignInData(activityData, createTime); let playerRecords: ActivitySignInModelType = await ActivitySignInModel.findData(activityId, roleId, playerData.roundIndex); playerData.setPlayerRecords(playerRecords); @@ -156,7 +159,8 @@ export async function makeSignInVIP(roleId: string, roleName: string, sid: strin if (activityData.type !== ACTIVITY_TYPE.SIGN_IN_VIP) { return STATUS.ACTIVITY_TYPE_ERROR; } - let playerData = new SignInData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new SignInData(activityData, createTime); await ActivitySignInModel.buyVIP(activityId, roleId, playerData.roundIndex); diff --git a/game-server/app/services/activity/thirtyDaysService.ts b/game-server/app/services/activity/thirtyDaysService.ts index 543b5d077..10b9b00b2 100644 --- a/game-server/app/services/activity/thirtyDaysService.ts +++ b/game-server/app/services/activity/thirtyDaysService.ts @@ -42,7 +42,8 @@ export async function getPlayerThirtyDaysData(activityId: number, serverId: numb let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId); - let playerData = new ThirtyDaysData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new ThirtyDaysData(activityData, createTime); playerData.setPlayerRecords(playerRecords); playerData.setPlayerPointRecords(playerPointRecords); @@ -66,7 +67,8 @@ export async function addPlayerThirtyDaysTask(activityId: number, serverId: numb let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activityId, roleId); let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId); - let playerData = new ThirtyDaysData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new ThirtyDaysData(activityData, createTime); playerData.setPlayerRecords(playerRecords); playerData.setPlayerPointRecords(playerPointRecords); return playerData; diff --git a/game-server/app/services/activity/treasureHuntService.ts b/game-server/app/services/activity/treasureHuntService.ts index 5f5bfe2cb..483a82f92 100644 --- a/game-server/app/services/activity/treasureHuntService.ts +++ b/game-server/app/services/activity/treasureHuntService.ts @@ -11,6 +11,7 @@ import { TreasureHuntData } from '../../domain/activityField/treasureHuntField'; import { deltaDays } from '../../pubUtils/util'; import { addReward, stringToConsumeParam, stringToRewardParam } from './giftPackageService'; import { RewardParam } from '../../domain/activityField/rewardField'; +import { RoleModel } from '../../db/Role'; /** * 获取活动数据 @@ -22,12 +23,13 @@ import { RewardParam } from '../../domain/activityField/rewardField'; */ export async function treasureHuntActivity(serverId: number, roleId: string) { - let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId); + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); if (!activityData) { return null; } - let playerData = new TreasureHuntData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new TreasureHuntData(activityData, createTime); playerData.beginTime = moment(huntBeginTime).valueOf(); playerData.endTime = moment(huntEndTime).valueOf(); playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;; @@ -56,12 +58,13 @@ export async function treasureHuntActivity(serverId: number, roleId: string) { */ export async function treasureHuntTaskActivity(serverId: number, roleId: string) { - let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId); + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); if (!activityData) { return null; } - let playerData = new TreasureHuntData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new TreasureHuntData(activityData, createTime); playerData.beginTime = moment(huntBeginTime).valueOf(); playerData.endTime = moment(huntEndTime).valueOf(); playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;; @@ -83,7 +86,8 @@ export async function treasureHuntTaskActivity(serverId: number, roleId: string) export async function getPlayerTreasureHuntData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new TreasureHuntData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new TreasureHuntData(activityData, createTime); playerData.beginTime = moment(huntBeginTime).valueOf(); playerData.endTime = moment(huntEndTime).valueOf(); playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;; @@ -104,7 +108,8 @@ export async function getPlayerTreasureHuntData(activityId: number, serverId: nu export async function getPlayerTreasureHuntFirstPageData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new TreasureHuntData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new TreasureHuntData(activityData, createTime); playerData.beginTime = moment(huntBeginTime).valueOf(); playerData.endTime = moment(huntEndTime).valueOf(); playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;; @@ -118,7 +123,8 @@ export async function getPlayerTreasureHuntFirstPageData(activityId: number, ser export async function getPlayerTreasureHuntShopData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new TreasureHuntData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new TreasureHuntData(activityData, createTime); playerData.beginTime = moment(huntBeginTime).valueOf(); playerData.endTime = moment(huntEndTime).valueOf(); playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;; @@ -132,7 +138,8 @@ export async function getPlayerTreasureHuntShopData(activityId: number, serverId export async function getPlayerTreasureHuntTaskData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new TreasureHuntData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new TreasureHuntData(activityData, createTime); playerData.beginTime = moment(huntBeginTime).valueOf(); playerData.endTime = moment(huntEndTime).valueOf(); playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;; @@ -146,7 +153,8 @@ export async function getPlayerTreasureHuntTaskData(activityId: number, serverId export async function getPlayerTreasureHuntChallengeData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new TreasureHuntData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new TreasureHuntData(activityData, createTime); playerData.beginTime = moment(huntBeginTime).valueOf(); playerData.endTime = moment(huntEndTime).valueOf(); playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;; @@ -158,7 +166,8 @@ export async function getPlayerTreasureHuntChallengeData(activityId: number, ser export async function getPlayerTreasureHuntTreasureShopData(activityId: number, serverId: number, roleId: string, huntRoundIndex: number, huntBeginTime: Date, huntEndTime: Date) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let playerData = new TreasureHuntData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new TreasureHuntData(activityData, createTime); playerData.beginTime = moment(huntBeginTime).valueOf(); playerData.endTime = moment(huntEndTime).valueOf(); playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;; @@ -170,13 +179,13 @@ export async function getPlayerTreasureHuntTreasureShopData(activityId: number, } //获取当前活动的周期等数据 -export async function getTreasureHuntData(serverId: number) { +export async function getTreasureHuntData(serverId: number, roleId: string) { let tempData: ServerTempModelType = await ServerTempModel.findData(serverId); let now = moment(new Date()).toDate(); let activityData: ActivityModelType = null; //当前活动数据 if (!tempData) {//开始新周期 - let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } = await getNewActivityData(serverId); + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } = await getNewActivityData(serverId, roleId); if (huntActivityId === 0) { return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } } @@ -185,7 +194,7 @@ export async function getTreasureHuntData(serverId: number) { return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } } if (now > tempData.huntEndTime) {//活动过期 - let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } = await getNextActivityData(serverId, tempData.huntActivityId, tempData.huntEndTime, tempData.huntRoundIndex); + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } = await getNextActivityData(serverId, roleId, tempData.huntActivityId, tempData.huntEndTime, tempData.huntRoundIndex); if (huntActivityId === 0) { return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } } @@ -205,15 +214,16 @@ export async function getTreasureHuntData(serverId: number) { } } -async function getNewActivityData(serverId: number) { +async function getNewActivityData(serverId: number, roleId: string) { let { activityGroupId } = await ServerlistModel.findByServerId(serverId); let huntActivityId: number = 0; // 寻宝骑兵-活动Id let huntEndTime: Date = null; // 寻宝骑兵-结束时间 let huntRoundIndex: number = 0; // 寻宝骑兵-周期数 let activityArray: ActivityModelType[] = await ActivityModel.findActivityByType(activityGroupId, ACTIVITY_TYPE.TREASURE_HUNT, 1)//activityId从小到大排序 let treasureHuntDataArray: TreasureHuntData[] = []; + let { createTime } = await RoleModel.findByRoleId(roleId); for (let obj of activityArray) { - treasureHuntDataArray.push(new TreasureHuntData(obj)); + treasureHuntDataArray.push(new TreasureHuntData(obj, createTime)); } let isOver = false; let huntBeginTime = moment(SERVER_OPEN_TIME).startOf('d').add(1, 'd').toDate(); @@ -237,15 +247,16 @@ async function getNewActivityData(serverId: number) { return { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex } } -async function getNextActivityData(serverId: number, oldHuntActivityId: number, oldHuntEndTime: Date, oldHuntRoundIndex: number) { +async function getNextActivityData(serverId: number, roleId: string, oldHuntActivityId: number, oldHuntEndTime: Date, oldHuntRoundIndex: number) { let { activityGroupId } = await ServerlistModel.findByServerId(serverId); let huntActivityId: number = 0; // 寻宝骑兵-活动Id let huntEndTime: Date = null; // 寻宝骑兵-结束时间 let huntRoundIndex: number = oldHuntRoundIndex; // 寻宝骑兵-周期数 let activityArray: ActivityModelType[] = await ActivityModel.findActivityByType(activityGroupId, ACTIVITY_TYPE.TREASURE_HUNT, 1)//activityId从小到大排序 let treasureHuntDataArray: TreasureHuntData[] = []; + let { createTime } = await RoleModel.findByRoleId(roleId); for (let obj of activityArray) { - treasureHuntDataArray.push(new TreasureHuntData(obj)); + treasureHuntDataArray.push(new TreasureHuntData(obj, createTime)); } let isOver = false; let huntBeginTime = moment(oldHuntEndTime).add(1, 'd').startOf('d').toDate(); @@ -296,7 +307,7 @@ async function getNextActivityData(serverId: number, oldHuntActivityId: number, export async function makeShop(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], activityId: number, productID: string) { // let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); - let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId); + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); if (!activityData) { return { code: STATUS.ACTIVITY_MISSING, diff --git a/game-server/app/services/activity/vipRechargeMoneyService.ts b/game-server/app/services/activity/vipRechargeMoneyService.ts index 49a82038d..0d0c4d413 100644 --- a/game-server/app/services/activity/vipRechargeMoneyService.ts +++ b/game-server/app/services/activity/vipRechargeMoneyService.ts @@ -3,6 +3,7 @@ import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityVipRechargeMoneyModel, ActivityVipRechargeMoneyModelType } from '../../db/ActivityVipRechargeMoney'; import { VipRechargeMoneyData, VipRechargeMoneyItem } from '../../domain/activityField/vipRechargeMoneyField'; import { ServerlistModel } from '../../db/Serverlist'; +import { RoleModel } from '../../db/Role'; /** * 获取活动数据 @@ -21,7 +22,8 @@ export async function vipRechargeMoneyActivity(serverId: number, roleId: string) } let activityData = activityArray[0]; let playerRecord: ActivityVipRechargeMoneyModelType = await ActivityVipRechargeMoneyModel.findData(serverId, roleId, activityData.activityId); - let playerData = new VipRechargeMoneyData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new VipRechargeMoneyData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; } @@ -41,7 +43,8 @@ export async function getPlayerVipRechargeMoneyData(activityId: number, serverId } let playerRecord: ActivityVipRechargeMoneyModelType = await ActivityVipRechargeMoneyModel.findData(serverId, roleId, activityId); - let playerData = new VipRechargeMoneyData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new VipRechargeMoneyData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; } diff --git a/game-server/app/services/activity/yuanbaoService.ts b/game-server/app/services/activity/yuanbaoService.ts index 6bec5b91c..a1cb0e670 100644 --- a/game-server/app/services/activity/yuanbaoService.ts +++ b/game-server/app/services/activity/yuanbaoService.ts @@ -1,5 +1,6 @@ import { ACTIVITY_TYPE, STATUS, TASK_TYPE } from '../../consts'; import { ActivityModel, ActivityModelType } from '../../db/Activity'; +import { RoleModel } from '../../db/Role'; import { ServerlistModel } from '../../db/Serverlist'; import { UserOrderModel, UserOrderModelType } from '../../db/UserOrder'; import { RewardParam } from '../../domain/activityField/rewardField'; @@ -23,7 +24,8 @@ export async function yuanbaoActivity(serverId: number, roleId: string) { } let activityData = activityArray[0]; let playerRecord: UserOrderModelType[] = await UserOrderModel.findOrderByActivityID(activityData.activityId, roleId); - let playerData = new YuanBaoShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new YuanBaoShopData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; } @@ -40,7 +42,8 @@ export async function getPlayerYuanbaoShopData(activityId: number, serverId: num let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let playerRecord: UserOrderModelType[] = await UserOrderModel.findOrderByActivityID(activityId, roleId); - let playerData = new YuanBaoShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new YuanBaoShopData(activityData, createTime); playerData.setPlayerRecords(playerRecord); return playerData; } @@ -62,7 +65,8 @@ export async function makeYuanbaoShopReward(roleId: string, roleName: string, si if (activityData.type !== ACTIVITY_TYPE.YUAN_BAO_SHOP) { return STATUS.ACTIVITY_TYPE_ERROR; } - let playerData = new YuanBaoShopData(activityData); + let { createTime } = await RoleModel.findByRoleId(roleId); + let playerData = new YuanBaoShopData(activityData, createTime); let item = playerData.findItem(productID); let rewardParamArr: Array = []; diff --git a/shared/domain/activityField/activityField.ts b/shared/domain/activityField/activityField.ts index 5976bff7e..26aaa0a4d 100644 --- a/shared/domain/activityField/activityField.ts +++ b/shared/domain/activityField/activityField.ts @@ -1,6 +1,7 @@ import moment = require('moment'); import { ACTIVITY_TIME_TYPE, REFRESH_TIME, SERVER_OPEN_TIME } from '../../consts'; import { ActivityModelType } from '../../db/Activity'; +import { RoleModel } from '../../db/Role'; import { deltaDays } from '../../pubUtils/util'; // 活动数据 @@ -22,7 +23,7 @@ export abstract class ActivityBase { return this.todayIndex; } - constructor(activityData: ActivityModelType) { + constructor(activityData: ActivityModelType, createTime: number) { this.activityId = activityData.activityId; this.delayDay = activityData.delayDay ? activityData.delayDay : 0; this.beginTime = moment(activityData.beginTime).add(this.delayDay, 'd').valueOf(); @@ -44,7 +45,7 @@ export abstract class ActivityBase { break; } case ACTIVITY_TIME_TYPE.ROLE_REGISTER_TIME: { - this.beginTime = moment(SERVER_OPEN_TIME).add(this.delayDay, 'd').startOf('d').add(REFRESH_TIME, 'h').valueOf(); + this.beginTime = moment(createTime * 1000).add(this.delayDay, 'd').startOf('d').add(REFRESH_TIME, 'h').valueOf(); if (activityData.days > 0) { this.endTime = moment(this.beginTime).add(activityData.days, 'd').valueOf(); } else { diff --git a/shared/domain/activityField/dailyChallengesField.ts b/shared/domain/activityField/dailyChallengesField.ts index b6923f732..ad314faff 100644 --- a/shared/domain/activityField/dailyChallengesField.ts +++ b/shared/domain/activityField/dailyChallengesField.ts @@ -73,8 +73,8 @@ export class DailyChallengesData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/dailyCoinField.ts b/shared/domain/activityField/dailyCoinField.ts index 3a611d2c6..4d463bd89 100644 --- a/shared/domain/activityField/dailyCoinField.ts +++ b/shared/domain/activityField/dailyCoinField.ts @@ -110,8 +110,8 @@ export class DailyCoinData extends ActivityBase { } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/dailyGKField.ts b/shared/domain/activityField/dailyGKField.ts index 47b8c7089..6ccba6c87 100644 --- a/shared/domain/activityField/dailyGKField.ts +++ b/shared/domain/activityField/dailyGKField.ts @@ -55,8 +55,8 @@ export class DailyGKData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/dailyGiftsField.ts b/shared/domain/activityField/dailyGiftsField.ts index 56a31c3ff..5570ca08e 100644 --- a/shared/domain/activityField/dailyGiftsField.ts +++ b/shared/domain/activityField/dailyGiftsField.ts @@ -72,8 +72,8 @@ export class DailyGiftsData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/dailyMealField.ts b/shared/domain/activityField/dailyMealField.ts index 1e9e4743e..6a5b53d48 100644 --- a/shared/domain/activityField/dailyMealField.ts +++ b/shared/domain/activityField/dailyMealField.ts @@ -66,8 +66,8 @@ export class DailyMealData extends ActivityBase { // console.log('ddddddddddddbbbbbbb') } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/dailyRMBGiftsField.ts b/shared/domain/activityField/dailyRMBGiftsField.ts index a7914751b..6966bc9ad 100644 --- a/shared/domain/activityField/dailyRMBGiftsField.ts +++ b/shared/domain/activityField/dailyRMBGiftsField.ts @@ -100,8 +100,8 @@ export class DailyRMBGiftsData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/firstGiftField.ts b/shared/domain/activityField/firstGiftField.ts index 7c91cd850..d93b61f79 100644 --- a/shared/domain/activityField/firstGiftField.ts +++ b/shared/domain/activityField/firstGiftField.ts @@ -78,8 +78,8 @@ export class FirstGiftData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/gachaField.ts b/shared/domain/activityField/gachaField.ts index 36ef02d8e..db8069186 100644 --- a/shared/domain/activityField/gachaField.ts +++ b/shared/domain/activityField/gachaField.ts @@ -30,7 +30,7 @@ export class GachaData extends ActivityBase { let dicGacha = gameData.gacha.get(this.gachaId); this.pickHero = userGacha.pickHero; this.freeCount = userGacha.freeCount; - if(dicGacha.free.count > 0) { + if (dicGacha.free.count > 0) { let f = getTimeFun(userGacha.refFreeTime); this.refFreeTime = f.getAfterDayWithHour(dicGacha.free.day); } @@ -38,8 +38,8 @@ export class GachaData extends ActivityBase { this.floor = userGacha.floor; } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) } } @@ -91,13 +91,13 @@ export class GachaListReturn { point: number = 0; // 积分 turntable: Turntable[] = []; // 转盘记录 pickHero: number = 0; // 玩家选择的武将 - + constructor(dicGacha: DicGacha, userGacha: UserGachaType) { this.gachaId = dicGacha.id; - - if(userGacha) { + + if (userGacha) { this.freeCount = userGacha.freeCount; - if(dicGacha.free.count > 0) { + if (dicGacha.free.count > 0) { let f = getTimeFun(userGacha.refFreeTime); this.refFreeTime = f.getAfterDayWithHour(dicGacha.free.day); } @@ -130,7 +130,7 @@ export class GachaResult { } setSetPickHero(hid: number) { - if(hid > 0 && this.hid == GACHA_OCCUPY_HID) { + if (hid > 0 && this.hid == GACHA_OCCUPY_HID) { this.hid = hid; } } diff --git a/shared/domain/activityField/growthField.ts b/shared/domain/activityField/growthField.ts index 42872f4a2..85830c3b4 100644 --- a/shared/domain/activityField/growthField.ts +++ b/shared/domain/activityField/growthField.ts @@ -149,8 +149,8 @@ export class GrowthData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/growthFundField.ts b/shared/domain/activityField/growthFundField.ts index db04b8535..c81f2ccb9 100644 --- a/shared/domain/activityField/growthFundField.ts +++ b/shared/domain/activityField/growthFundField.ts @@ -164,8 +164,8 @@ export class GrowthFundData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/limitShopField.ts b/shared/domain/activityField/limitShopField.ts index 986c956d1..a90908862 100644 --- a/shared/domain/activityField/limitShopField.ts +++ b/shared/domain/activityField/limitShopField.ts @@ -90,8 +90,8 @@ export class LimitShopData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/monopolyField.ts b/shared/domain/activityField/monopolyField.ts index d6f6a4e79..63b07f312 100644 --- a/shared/domain/activityField/monopolyField.ts +++ b/shared/domain/activityField/monopolyField.ts @@ -68,8 +68,8 @@ export class MonopolyData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/monthlyTicketField.ts b/shared/domain/activityField/monthlyTicketField.ts index 45cd20447..de2ea0a40 100644 --- a/shared/domain/activityField/monthlyTicketField.ts +++ b/shared/domain/activityField/monthlyTicketField.ts @@ -56,8 +56,8 @@ export class MonthlyTicketData extends ActivityBase { this.endTime = 0; } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/newHeroGKField.ts b/shared/domain/activityField/newHeroGKField.ts index 22fe436cc..30051eed9 100644 --- a/shared/domain/activityField/newHeroGKField.ts +++ b/shared/domain/activityField/newHeroGKField.ts @@ -95,8 +95,8 @@ export class NewHeroGKData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/newHeroGachaField.ts b/shared/domain/activityField/newHeroGachaField.ts index 746869ab3..e92fb62db 100644 --- a/shared/domain/activityField/newHeroGachaField.ts +++ b/shared/domain/activityField/newHeroGachaField.ts @@ -70,8 +70,8 @@ export class NewHeroGachaData extends ActivityBase { } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } diff --git a/shared/domain/activityField/newHeroGiftField.ts b/shared/domain/activityField/newHeroGiftField.ts index 985dea41e..b3c2a937c 100644 --- a/shared/domain/activityField/newHeroGiftField.ts +++ b/shared/domain/activityField/newHeroGiftField.ts @@ -64,8 +64,8 @@ export class NewHeroGiftData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/rechargeMoneyField.ts b/shared/domain/activityField/rechargeMoneyField.ts index f28b47bc9..36ee108cc 100644 --- a/shared/domain/activityField/rechargeMoneyField.ts +++ b/shared/domain/activityField/rechargeMoneyField.ts @@ -84,8 +84,8 @@ export class RechargeMoneyData extends ActivityBase { }) } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/refreshShopField.ts b/shared/domain/activityField/refreshShopField.ts index fea0cfd6f..b63340202 100644 --- a/shared/domain/activityField/refreshShopField.ts +++ b/shared/domain/activityField/refreshShopField.ts @@ -168,8 +168,8 @@ export class RefreshShopData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/refreshTaskField.ts b/shared/domain/activityField/refreshTaskField.ts index e8fd6b34c..851f861c2 100644 --- a/shared/domain/activityField/refreshTaskField.ts +++ b/shared/domain/activityField/refreshTaskField.ts @@ -128,8 +128,8 @@ export class RefreshTaskData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/selfServiceShopField.ts b/shared/domain/activityField/selfServiceShopField.ts index 0d1a9d963..9ff43e440 100644 --- a/shared/domain/activityField/selfServiceShopField.ts +++ b/shared/domain/activityField/selfServiceShopField.ts @@ -104,8 +104,8 @@ export class SelfServiceShopData extends ActivityBase { this.roundIndex = Math.ceil(this.todayIndex / this.days); } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/sevenDaysField.ts b/shared/domain/activityField/sevenDaysField.ts index 4034f2e31..5469beaea 100644 --- a/shared/domain/activityField/sevenDaysField.ts +++ b/shared/domain/activityField/sevenDaysField.ts @@ -319,8 +319,8 @@ export class SevenDaysData extends ActivityBase { this.dailyChallenge = new SevenDaysDailyChallengesData(objData.dailyChallenge) } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/signInField.ts b/shared/domain/activityField/signInField.ts index f2e23ee60..6b728f373 100644 --- a/shared/domain/activityField/signInField.ts +++ b/shared/domain/activityField/signInField.ts @@ -108,8 +108,8 @@ export class SignInData extends ActivityBase { } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/thirtyDaysField.ts b/shared/domain/activityField/thirtyDaysField.ts index ef80395ac..f8df43f77 100644 --- a/shared/domain/activityField/thirtyDaysField.ts +++ b/shared/domain/activityField/thirtyDaysField.ts @@ -256,8 +256,8 @@ export class ThirtyDaysData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/treasureHuntField.ts b/shared/domain/activityField/treasureHuntField.ts index c39fde004..84717c23d 100644 --- a/shared/domain/activityField/treasureHuntField.ts +++ b/shared/domain/activityField/treasureHuntField.ts @@ -337,8 +337,8 @@ export class TreasureHuntData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/vipRechargeMoneyField.ts b/shared/domain/activityField/vipRechargeMoneyField.ts index 4d4df4772..916101c35 100644 --- a/shared/domain/activityField/vipRechargeMoneyField.ts +++ b/shared/domain/activityField/vipRechargeMoneyField.ts @@ -61,8 +61,8 @@ export class VipRechargeMoneyData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/domain/activityField/yuanBaoShopField.ts b/shared/domain/activityField/yuanBaoShopField.ts index c453ea587..a90af6b0a 100644 --- a/shared/domain/activityField/yuanBaoShopField.ts +++ b/shared/domain/activityField/yuanBaoShopField.ts @@ -62,8 +62,8 @@ export class YuanBaoShopData extends ActivityBase { } } - constructor(activityData: ActivityModelType) { - super(activityData) + constructor(activityData: ActivityModelType, createTime: number) { + super(activityData, createTime) this.initData(activityData.data) } } \ No newline at end of file diff --git a/shared/pubUtils/taskUtil.ts b/shared/pubUtils/taskUtil.ts index ab30e1494..0ce863bd8 100644 --- a/shared/pubUtils/taskUtil.ts +++ b/shared/pubUtils/taskUtil.ts @@ -499,6 +499,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: console.log('accomplishTask', roleId, taskType, count, JSON.stringify(parma)) let pushMessage = []; let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let { createTime } = await RoleModel.findByRoleId(roleId); // //成长活动统计 // let allActivity: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.TASK_GROWTH, new Date()); // for (let activity of allActivity) { @@ -562,7 +563,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: //七天乐 let allActivity: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.SEVEN_DAY, new Date()); for (let activity of allActivity) { - let playerData = new SevenDaysData(activity) + let playerData = new SevenDaysData(activity, createTime) //成长活动统计 let growthActivity = playerData.growth; let growthTaskArray = growthActivity.findTaskByType(taskType); @@ -620,7 +621,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: //今日挑战统计 allActivity = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.TASK_DAILY_CHALLENGES, new Date()); for (let activity of allActivity) { - let growthActivity = new DailyChallengesData(activity); + let growthActivity = new DailyChallengesData(activity, createTime); let taskArray = growthActivity.findTaskByType(taskType, growthActivity.today()); for (let task of taskArray) { let taskRecord = await ActivityDailyChallengesModel.findDataByCellIndex(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType) @@ -650,7 +651,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: //刷新任务统计 allActivity = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.REFRESH_TASK, new Date()); for (let activity of allActivity) { - let taskActivity = new RefreshTaskData(activity); + let taskActivity = new RefreshTaskData(activity, createTime); let taskArray = taskActivity.findTaskByType(taskType); for (let task of taskArray) { let taskRecord = await ActivityRefreshTaskModel.findDataById(serverId, taskActivity.activityId, roleId, taskActivity.roundIndex, task.pageIndex, task.id, task.taskType) @@ -686,7 +687,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: let huntRoundIndex = tempData.huntRoundIndex; let activity = await ActivityModel.findActivity(tempData.huntActivityId); if (activity) { - let playerData = new TreasureHuntData(activity); + let playerData = new TreasureHuntData(activity, createTime); playerData.beginTime = moment(huntBeginTime).valueOf(); playerData.endTime = moment(huntEndTime).valueOf(); playerData.roundIndex = huntRoundIndex; @@ -740,7 +741,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: ) { allActivity = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.THIRTY_DAYS, new Date()); for (let activity of allActivity) { - let thirtyDaysActivity = new ThirtyDaysData(activity); + let thirtyDaysActivity = new ThirtyDaysData(activity, createTime); let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activity.activityId, roleId); thirtyDaysActivity.setPlayerRecords(playerRecords); let taskArray = thirtyDaysActivity.findUncompleteTaskByType(taskType); @@ -845,7 +846,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: if (taskType === TASK_TYPE.BATTLE_MAIN) { allActivity = await ActivityModel.findOpenActivityByTypes(activityGroupId, [ACTIVITY_TYPE.GROWTH_FUND_MAIN, ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP], new Date()); for (let activity of allActivity) { - let growthFundActivity = new GrowthFundData(activity); + let growthFundActivity = new GrowthFundData(activity, createTime); let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activity.activityId, roleId); growthFundActivity.setPlayerRecords(playerRecords); if (growthFundActivity.isVipActivity()) {//vip高阶需要购买 @@ -861,7 +862,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: if (taskType === TASK_TYPE.BATTLE_TOWER_LV) { allActivity = await ActivityModel.findOpenActivityByTypes(activityGroupId, [ACTIVITY_TYPE.GROWTH_FUND_TOWER, ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP], new Date()); for (let activity of allActivity) { - let growthFundActivity = new GrowthFundData(activity); + let growthFundActivity = new GrowthFundData(activity, createTime); let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activity.activityId, roleId); growthFundActivity.setPlayerRecords(playerRecords); if (growthFundActivity.isVipActivity()) {//vip高阶需要购买 @@ -877,7 +878,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: if (taskType === TASK_TYPE.BATTLE_MAIN_ELITE) { allActivity = await ActivityModel.findOpenActivityByTypes(activityGroupId, [ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE, ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP], new Date()); for (let activity of allActivity) { - let growthFundActivity = new GrowthFundData(activity); + let growthFundActivity = new GrowthFundData(activity, createTime); let playerRecords: ActivityGrowthFundModelType[] = await ActivityGrowthFundModel.findData(activity.activityId, roleId); growthFundActivity.setPlayerRecords(playerRecords); if (growthFundActivity.isVipActivity()) {//vip高阶需要购买