From ebb987085550e75bd55723ea43434c6bf61f7fec Mon Sep 17 00:00:00 2001 From: qiaoxin Date: Wed, 26 May 2021 17:35:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=EF=BC=9A=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/services/dailyChallengesService.ts | 4 +- game-server/app/services/dailyGiftsService.ts | 4 +- game-server/app/services/growthFundService.ts | 4 +- game-server/app/services/growthService.ts | 4 +- .../app/services/limitPackageService.ts | 7 ++- .../app/services/monthlyTicketService.ts | 4 +- game-server/app/services/orderService.ts | 4 +- game-server/app/services/popUpShopService.ts | 4 +- .../app/services/rechargeMoneyService.ts | 4 +- .../selfServiceShopActivityService.ts | 4 +- game-server/app/services/signInService.ts | 7 ++- shared/db/Activity.ts | 8 +-- shared/db/ActivityGroup.ts | 52 +++++++++++++++++++ shared/db/ActivityGrowthPoint.ts | 6 +-- shared/db/Serverlist.ts | 17 +++--- shared/domain/activityField/growthField.ts | 1 + shared/pubUtils/taskUtil.ts | 20 +++---- 17 files changed, 119 insertions(+), 35 deletions(-) create mode 100644 shared/db/ActivityGroup.ts diff --git a/game-server/app/services/dailyChallengesService.ts b/game-server/app/services/dailyChallengesService.ts index ebc2600b1..4108f63c9 100644 --- a/game-server/app/services/dailyChallengesService.ts +++ b/game-server/app/services/dailyChallengesService.ts @@ -1,6 +1,7 @@ import { ACTIVITY_TYPE } from '../consts'; import { ActivityModel, ActivityModelType } from '../db/Activity'; import { ActivityDailyChallengesModel, ActivityDailyChallengesModelType } from '../db/ActivityDailyChallenges'; +import { ServerlistModel } from '../db/Serverlist'; import { DailyChallengesData, DailyItem } from '../domain/activityField/dailyChallengesField'; @@ -13,7 +14,8 @@ import { DailyChallengesData, DailyItem } from '../domain/activityField/dailyCha * */ export async function dailyChallengesActivity(serverId: number, roleId: string) { - let activityDataArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.TASK_DAILY_CHALLENGES, new Date()); + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let activityDataArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.TASK_DAILY_CHALLENGES, new Date()); if (activityDataArray.length === 0) { return null; } diff --git a/game-server/app/services/dailyGiftsService.ts b/game-server/app/services/dailyGiftsService.ts index 904b81d38..157236e6c 100644 --- a/game-server/app/services/dailyGiftsService.ts +++ b/game-server/app/services/dailyGiftsService.ts @@ -1,6 +1,7 @@ import { ACTIVITY_TYPE } from '../consts'; import { ActivityModel, ActivityModelType } from '../db/Activity'; import { ActivityDailyGiftsModel, ActivityDailyGiftsModelType } from '../db/ActivityDailyGifts'; +import { ServerlistModel } from '../db/Serverlist'; import { DailyGiftsData, DailyGiftItem } from '../domain/activityField/dailyGiftsField'; @@ -14,7 +15,8 @@ import { DailyGiftsData, DailyGiftItem } from '../domain/activityField/dailyGift * */ export async function dailyGiftsActivity(serverId: number, roleId: string) { - let activityDataArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.DAILY_DISCOUNT_GIFT, new Date()); + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let activityDataArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.DAILY_DISCOUNT_GIFT, new Date()); if (activityDataArray.length === 0) { return null; } diff --git a/game-server/app/services/growthFundService.ts b/game-server/app/services/growthFundService.ts index 634637234..3dabe304e 100644 --- a/game-server/app/services/growthFundService.ts +++ b/game-server/app/services/growthFundService.ts @@ -4,6 +4,7 @@ import { ActivityGrowthFundModel, ActivityGrowthFundModelType } from '../db/Acti import { ActivityBuyRecordsModel, ActivityBuyRecordsModelType } from '../db/ActivityBuyRecords'; import { RoleModel } from '../db/Role'; import { GrowthFundData, GrowthFundItem } from '../domain/activityField/growthFundField'; +import { ServerlistModel } from '../db/Serverlist'; /** * 获取活动数据 @@ -22,7 +23,8 @@ import { GrowthFundData, GrowthFundItem } from '../domain/activityField/growthFu GROWTH_FUND_MAIN_ELITE_VIP = 11, // 精英成长基金(高阶) */ export async function growthFundActivity(type: number, serverId: number, roleId: string) { - let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, type, new Date()) + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, type, new Date()) if (activityArray.length == 0) { return null; } diff --git a/game-server/app/services/growthService.ts b/game-server/app/services/growthService.ts index c75a7d699..2bce7534f 100644 --- a/game-server/app/services/growthService.ts +++ b/game-server/app/services/growthService.ts @@ -2,6 +2,7 @@ import { ACTIVITY_TYPE } from '../consts'; import { ActivityModel, ActivityModelType } from '../db/Activity'; import { ActivityGrowthModel, ActivityGrowthModelType } from '../db/ActivityGrowth'; import { ActivityGrowthPointModel, ActivityGrowthPointModelType } from '../db/ActivityGrowthPoint'; +import { ServerlistModel } from '../db/Serverlist'; import { GrowthData, GrowthItem } from '../domain/activityField/growthField'; /** @@ -13,7 +14,8 @@ import { GrowthData, GrowthItem } from '../domain/activityField/growthField'; * */ export async function growthActivity(serverId: number, roleId: string) { - let activityDataArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.TASK_GROWTH, new Date()); + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let activityDataArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.TASK_GROWTH, new Date()); if (activityDataArray.length === 0) { return null; } diff --git a/game-server/app/services/limitPackageService.ts b/game-server/app/services/limitPackageService.ts index 938b4db68..7a6c7c060 100644 --- a/game-server/app/services/limitPackageService.ts +++ b/game-server/app/services/limitPackageService.ts @@ -1,6 +1,7 @@ import { ACTIVITY_TYPE, TASK_TYPE } from '../consts'; import { ActivityModel, ActivityModelType } from '../db/Activity'; import { ActivityShopModel, ActivityShopModelType } from '../db/ActivityShop'; +import { ServerlistModel } from '../db/Serverlist'; import { LimitShopData, ShopItem } from '../domain/activityField/limitShopField'; /** @@ -13,7 +14,8 @@ import { LimitShopData, ShopItem } from '../domain/activityField/limitShopField' */ export async function newPlayerLimitPackageActivity(serverId: number, roleId: string) { - let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE, new Date) + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE, new Date) if (activityArray.length == 0) { return null; } @@ -53,7 +55,8 @@ export async function getPlayerLimitPackageData(activityId: number, serverId: nu */ export async function limitPackageActivity(serverId: number, roleId: string, type: number) { - let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, type, new Date) + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, type, new Date) activityArray = activityArray.sort((a, b) => { return b.activityId - a.activityId }); diff --git a/game-server/app/services/monthlyTicketService.ts b/game-server/app/services/monthlyTicketService.ts index 9af5f1471..53bbb2bff 100644 --- a/game-server/app/services/monthlyTicketService.ts +++ b/game-server/app/services/monthlyTicketService.ts @@ -5,6 +5,7 @@ import { RewardParam } from '../domain/activityField/rewardField'; import { MonthlyTicketData } from '../domain/activityField/monthlyTicketField'; import { addReward, stringToRewardParam } from './giftPackageService'; import moment = require('moment'); +import { ServerlistModel } from '../db/Serverlist'; /** * 获取活动数据 @@ -16,7 +17,8 @@ import moment = require('moment'); */ export async function monthlyTicketActivity(serverId: number, roleId: string, type: number) { - let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, type, new Date()) + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, type, new Date()) activityArray = activityArray.sort((a, b) => { return b.activityId - a.activityId }); diff --git a/game-server/app/services/orderService.ts b/game-server/app/services/orderService.ts index ed5231e48..1e93ca71e 100644 --- a/game-server/app/services/orderService.ts +++ b/game-server/app/services/orderService.ts @@ -11,6 +11,7 @@ import { makeDailyRMBGiftsReward } from './dailyRMBGiftsService'; import { makePopUpShopReward } from './popUpShopService'; import { ActivityModel, ActivityModelType } from '../db/Activity'; import { ActivityFirstGiftModel } from '../db/ActivityFirstGift'; +import { ServerlistModel } from '../db/Serverlist'; @@ -41,7 +42,8 @@ export async function makeOrder(localOrderID: string, sid: string, orderInfo: Us //首冲礼包 { - let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(orderInfo.serverId, ACTIVITY_TYPE.FIRST_GIFT, new Date()) + let { activityGroupId } = await ServerlistModel.findByServerId(orderInfo.serverId); + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.FIRST_GIFT, new Date()) for (let obj of activityArray) { await ActivityFirstGiftModel.begin(obj.activityId, roleId); } diff --git a/game-server/app/services/popUpShopService.ts b/game-server/app/services/popUpShopService.ts index bf321ca13..7da8ee136 100644 --- a/game-server/app/services/popUpShopService.ts +++ b/game-server/app/services/popUpShopService.ts @@ -4,6 +4,7 @@ import { PopUpShopData, } from '../domain/activityField/popUpShopField'; import { RewardParam } from '../domain/activityField/rewardField'; import { addReward, stringToRewardParam } from './giftPackageService'; import { ActivityPopUpShopModel, ActivityPopUpShopModelType } from '../db/ActivityPopUpShop'; +import { ServerlistModel } from '../db/Serverlist'; /** * 获取活动数据 @@ -15,7 +16,8 @@ import { ActivityPopUpShopModel, ActivityPopUpShopModelType } from '../db/Activi */ export async function popUpShopActivity(serverId: number, roleId: string) { - let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.POP_UP_SHOP, new Date()) + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.POP_UP_SHOP, new Date()) activityArray = activityArray.sort((a, b) => { return b.activityId - a.activityId }); diff --git a/game-server/app/services/rechargeMoneyService.ts b/game-server/app/services/rechargeMoneyService.ts index 7d8028648..881972663 100644 --- a/game-server/app/services/rechargeMoneyService.ts +++ b/game-server/app/services/rechargeMoneyService.ts @@ -6,6 +6,7 @@ import { RechargeMoneyData, RechargeMoneyItem } from '../domain/activityField/re import { addReward, stringToRewardParam } from './giftPackageService'; import moment = require('moment'); +import { ServerlistModel } from '../db/Serverlist'; /** * 获取活动数据 @@ -17,7 +18,8 @@ import moment = require('moment'); */ export async function rechargeMoneyActivity(serverId: number, roleId: string) { - let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.RECHARGE_MONEY, new Date()) + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.RECHARGE_MONEY, new Date()) activityArray = activityArray.sort((a, b) => { return b.activityId - a.activityId }); diff --git a/game-server/app/services/selfServiceShopActivityService.ts b/game-server/app/services/selfServiceShopActivityService.ts index 2a4586217..4131907d0 100644 --- a/game-server/app/services/selfServiceShopActivityService.ts +++ b/game-server/app/services/selfServiceShopActivityService.ts @@ -2,6 +2,7 @@ import { ACTIVITY_RESOURCES_TYPE, ACTIVITY_TYPE } from '../consts'; import { ActivityModel, ActivityModelType } from '../db/Activity'; import { ActivitySelfServiceGoodsModel, ActivitySelfServiceGoodsModelType } from '../db/ActivitySelfServiceGoods'; import { ActivitySelfServiceShopModel, ActivitySelfServiceShopModelType } from '../db/ActivitySelfServiceShop'; +import { ServerlistModel } from '../db/Serverlist'; import { RewardParam } from '../domain/activityField/rewardField'; import { SelfServiceShopData, SelfServiceShopItem } from '../domain/activityField/selfServiceShopField'; import { gameData } from '../pubUtils/data'; @@ -16,7 +17,8 @@ import { addReward, getSelectedReward } from './giftPackageService'; * */ export async function getActivityData(serverId: number, roleId: string) { - let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.SELF_SERVICE_SHOP, new Date()) + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.SELF_SERVICE_SHOP, new Date()) activityArray = activityArray.sort((a, b) => { return b.activityId - a.activityId }); diff --git a/game-server/app/services/signInService.ts b/game-server/app/services/signInService.ts index 303ccb657..6f1de2907 100644 --- a/game-server/app/services/signInService.ts +++ b/game-server/app/services/signInService.ts @@ -2,6 +2,7 @@ import moment = require('moment'); import { ACTIVITY_TYPE, SERVER_OPEN_TIME, SIGNIN_CLOSE, SIGNIN_OPEN, SIGNIN_VIP_OPEN_LIMIT } from '../consts'; import { ActivityModel, ActivityModelType } from '../db/Activity'; import { ActivitySignInModel, ActivitySignInModelType } from '../db/ActivitySignIn'; +import { ServerlistModel } from '../db/Serverlist'; import { SignInData, SignInItem } from '../domain/activityField/signInField'; /** @@ -19,7 +20,8 @@ export async function signInActivity(serverId: number, roleId: string) { return null; } - let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.SIGN_IN, new Date()); + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.SIGN_IN, new Date()); if (activityArray.length == 0) { return null; } @@ -45,7 +47,8 @@ export async function signInVIPActivity(serverId: number, roleId: string) { return null; } - let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.SIGN_IN_VIP, new Date()); + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.SIGN_IN_VIP, new Date()); if (activityArray.length == 0) { return null; } diff --git a/shared/db/Activity.ts b/shared/db/Activity.ts index 2e262215a..f3a4d3034 100644 --- a/shared/db/Activity.ts +++ b/shared/db/Activity.ts @@ -10,7 +10,7 @@ import { COUNTER } from '../consts'; export default class Activity extends BaseModel { @prop({ required: true }) - serverId: number; // 服Id + groupId: number; // 组Id @prop({ required: true }) activityId: number; // 活动Id @prop({ required: true }) @@ -23,8 +23,10 @@ export default class Activity extends BaseModel { data: string; // 活动表中的数据 //根据活动类型查询开启的活动数据 - public static async findOpenActivityByType(serverId: number, type: number, date: Date) { - let result: ActivityModelType[] = await ActivityModel.find({ serverId, type, beginTime: { $lte: date }, endTime: { $gte: date } }).sort({ activityId: -1 }).lean(true); + public static async findOpenActivityByType(activityGroupId: number[], type: number, date: Date) { + let result: ActivityModelType[] = await ActivityModel.find( + { groupId: { $in: activityGroupId }, type, beginTime: { $lte: date }, endTime: { $gte: date } } + ).sort({ activityId: -1 }).lean(true); return result; } diff --git a/shared/db/ActivityGroup.ts b/shared/db/ActivityGroup.ts new file mode 100644 index 000000000..ccfdb0498 --- /dev/null +++ b/shared/db/ActivityGroup.ts @@ -0,0 +1,52 @@ +import BaseModel from './BaseModel'; +import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose'; + +/** + * 活动合集 +*/ +@index({ activityId: 1 }) + +export default class Activity_Group extends BaseModel { + @prop({ required: true }) + groupId: number; // 组Id + @prop({ required: true }) + groupName: string; // 组名 + @prop({ required: true }) + activities: number[]; // 活动Id + @prop({ required: true }) + beginTime: Date; // 里面的activity的最早的时间 + @prop({ required: true }) + endTime: Date; // 里面的activity的最晚的时间 + + + //查询组 + public static async findGroupData(groupId: number) { + let result: ActivityGroupModelType = await ActivityGroupModel.findOne({ groupId }).lean(true); + return result; + } + + //更新名字 + public static async updateGroupName(groupId: number, groupName: string) { + let result: ActivityGroupModelType = await ActivityGroupModel.findOneAndUpdate({ groupId }, + { $set: { groupName } }, { upsert: true, new: true }).lean(true); + return result; + } + + //更新询组 + public static async updateGroupData(groupId: number, activities: number[], beginTime: Date, endTime: Date) { + let result: ActivityGroupModelType = await ActivityGroupModel.findOneAndUpdate({ groupId }, + { $set: { activities, beginTime, endTime } }, { upsert: true, new: true }).lean(true); + return result; + } + + //删除组 + public static async deleteGroup(groupId: number) { + let result = await ActivityGroupModel.deleteMany({ groupId }); + return result; + } +} + +export const ActivityGroupModel = getModelForClass(Activity_Group); + +export interface ActivityGroupModelType extends Pick, keyof Activity_Group> { } +export type ActivityGroupModelTypeParam = Partial; // 将所有字段变成可选项 \ No newline at end of file diff --git a/shared/db/ActivityGrowthPoint.ts b/shared/db/ActivityGrowthPoint.ts index b5f70c140..080cd8665 100644 --- a/shared/db/ActivityGrowthPoint.ts +++ b/shared/db/ActivityGrowthPoint.ts @@ -18,7 +18,7 @@ export default class Activity_Growth_Point extends BaseModel { //当日奖章领取记录 public static async addRecord(serverId: number, activityId: number, roleId: string, id: number) { - let result: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findOneAndUpdate({ serverId, roleId, activityId, id }, + let result: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findOneAndUpdate({ serverId, roleId, activityId }, { $push: { ids: id } }, { upsert: true, new: true }).lean(true); return result; } @@ -30,8 +30,8 @@ export default class Activity_Growth_Point extends BaseModel { } //删除活动领取记录 - public static async deleteActivity(serverId: number, activityId: number, roleId: string, id: number) { - await ActivityGrowthPointModel.deleteMany({ serverId, roleId, activityId, id }); + public static async deleteActivity(serverId: number, activityId: number, roleId: string) { + await ActivityGrowthPointModel.deleteMany({ serverId, roleId, activityId }); } } diff --git a/shared/db/Serverlist.ts b/shared/db/Serverlist.ts index 0befbfdb4..932738a19 100644 --- a/shared/db/Serverlist.ts +++ b/shared/db/Serverlist.ts @@ -7,7 +7,7 @@ import { index, getModelForClass, prop, DocumentType, modelOptions } from '@type * 游戏字段接口 */ @index({ id: 1 }) -@modelOptions({schemaOptions: {id: false}}) +@modelOptions({ schemaOptions: { id: false } }) export default class Serverlist extends BaseModel { @prop({ required: true, default: 1 }) @@ -33,10 +33,13 @@ export default class Serverlist extends BaseModel { @prop({ required: true }) serverStatus: number; // 服务器状态 - + + @prop({ required: true }) + activityGroupId: number[]; // 活动组 + public get status() { let now = new Date(); - if( now > this.openTime) { + if (now > this.openTime) { return this.serverStatus; } else { return 3; // 未开服 @@ -61,19 +64,19 @@ export default class Serverlist extends BaseModel { } public static async findByServerId(serverId: number) { - let server: ServerlistType = await ServerlistModel.findOne({ id: serverId }).select('medianCe').lean({ getters: true, virtuals: true }); + let server: ServerlistType = await ServerlistModel.findOne({ id: serverId }).select('medianCe activityGroupId').lean({ getters: true, virtuals: true }); return server; } public static async updateByServerId(serverId: number, update: ServerlistUpdate) { - let server: ServerlistType = await ServerlistModel.findOneAndUpdate({id: serverId}, {$set: update}).lean({ getters: true, virtuals: true }); + let server: ServerlistType = await ServerlistModel.findOneAndUpdate({ id: serverId }, { $set: update }).lean({ getters: true, virtuals: true }); return server; } public static async newServer(serverId: number, serverType: string, params: ServerlistUpdate) { const doc = new ServerlistModel(); const update = Object.assign(doc.toJSON(), { id: serverId, serverType }, params); - let server: ServerlistType = await ServerlistModel.findOneAndUpdate({ id: serverId, serverType }, {$setOnInsert: update }, {new: true, upsert: true}).lean({ getters: true, virtuals: true }); + let server: ServerlistType = await ServerlistModel.findOneAndUpdate({ id: serverId, serverType }, { $setOnInsert: update }, { new: true, upsert: true }).lean({ getters: true, virtuals: true }); return server; } @@ -85,7 +88,7 @@ export default class Serverlist extends BaseModel { export const ServerlistModel = getModelForClass(Serverlist); -export interface ServerlistType extends Pick, keyof Serverlist>{ +export interface ServerlistType extends Pick, keyof Serverlist> { id: number; }; export type ServerlistUpdate = Partial; // 将所有字段变成可选项 diff --git a/shared/domain/activityField/growthField.ts b/shared/domain/activityField/growthField.ts index bb27133a0..41ced020a 100644 --- a/shared/domain/activityField/growthField.ts +++ b/shared/domain/activityField/growthField.ts @@ -146,6 +146,7 @@ export class GrowthData extends ActivityBase { //第几天的奖章兑换 public findPointItem(id: number) { + console.log('ddddddddddd', JSON.stringify(this.pointRewardList), id) let index = this.pointRewardList.findIndex(obj => { return obj && obj.id === id }) return (index != -1) ? this.pointRewardList[index] : null; } diff --git a/shared/pubUtils/taskUtil.ts b/shared/pubUtils/taskUtil.ts index 207916208..6f7baf227 100644 --- a/shared/pubUtils/taskUtil.ts +++ b/shared/pubUtils/taskUtil.ts @@ -17,6 +17,7 @@ import { ActivityGrowthModel } from '../db/ActivityGrowth'; import { ActivityDailyChallengesModel } from '../db/ActivityDailyChallenges'; import { ThirtyDaysData } from '../domain/activityField/thirtyDaysField'; import { ActivityThirtyDaysModel, ActivityThirtyDaysModelType } from '../db/ActivityThirtyDays'; +import { ServerlistModel } from '../db/Serverlist'; @@ -482,8 +483,9 @@ function checkRecResult(rec: UserTaskRecType, id: number) { * */ export async function accomplishTask(serverId: number, roleId: string, taskType: TASK_TYPE, count: number, parma?: any) { + let { activityGroupId } = await ServerlistModel.findByServerId(serverId); //七天乐-成长活动统计 - let allActivity: ActivityModelType[] = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.TASK_GROWTH, new Date()); + let allActivity: ActivityModelType[] = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.TASK_GROWTH, new Date()); for (let activity of allActivity) { let growthActivity = new GrowthData(activity); let taskArray = growthActivity.findTaskByType(taskType); @@ -491,16 +493,16 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: let addCount = isComplete(roleId, task.taskType, task.taskParam, count, parma); if (addCount) { if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE) { - await ActivityGrowthModel.setTaskCount(activity.serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount); + await ActivityGrowthModel.setTaskCount(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount); } else { - await ActivityGrowthModel.addTaskCount(activity.serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount); + await ActivityGrowthModel.addTaskCount(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount); } } } } //今日挑战统计 - allActivity = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.TASK_DAILY_CHALLENGES, new Date()); + allActivity = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.TASK_DAILY_CHALLENGES, new Date()); for (let activity of allActivity) { let growthActivity = new DailyChallengesData(activity); let taskArray = growthActivity.findTaskByType(taskType, growthActivity.today()); @@ -508,9 +510,9 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: let addCount = isComplete(roleId, task.taskType, task.taskParam, count, parma); if (addCount) { if (taskType == TASK_TYPE.ROLE_LV || taskType == TASK_TYPE.ROLE_TITLE) { - await ActivityDailyChallengesModel.setTaskCount(activity.serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount); + await ActivityDailyChallengesModel.setTaskCount(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount); } else { - await ActivityDailyChallengesModel.addTaskCount(activity.serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount); + await ActivityDailyChallengesModel.addTaskCount(serverId, growthActivity.activityId, roleId, task.dayIndex, task.cellIndex, task.taskType, addCount); } } } @@ -531,16 +533,16 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: taskType === TASK_TYPE.EQUIP_QUALITY ) { - allActivity = await ActivityModel.findOpenActivityByType(serverId, ACTIVITY_TYPE.THIRTY_DAYS, new Date()); + allActivity = await ActivityModel.findOpenActivityByType(activityGroupId, ACTIVITY_TYPE.THIRTY_DAYS, new Date()); for (let activity of allActivity) { let thirtyDaysActivity = new ThirtyDaysData(activity); - let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(activity.serverId, activity.activityId, roleId); + let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activity.activityId, roleId); thirtyDaysActivity.setPlayerRecords(playerRecords); let taskArray = thirtyDaysActivity.findUncompleteTaskByType(taskType); for (let task of taskArray) { let addCount = isComplete(roleId, task.taskType, task.taskParam, count, parma); if (addCount) { - await ActivityThirtyDaysModel.addTaskCount(activity.serverId, thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.taskType, addCount); + await ActivityThirtyDaysModel.addTaskCount(serverId, thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.taskType, addCount); } } }