diff --git a/game-server/app/servers/activity/handler/selfServiceShopHandler.ts b/game-server/app/servers/activity/handler/selfServiceShopHandler.ts index 1baadcafb..57802c5fb 100644 --- a/game-server/app/servers/activity/handler/selfServiceShopHandler.ts +++ b/game-server/app/servers/activity/handler/selfServiceShopHandler.ts @@ -55,7 +55,7 @@ export class SelfServiceShopHandler { let item = playerData.getItem(index); if (item.countMax > 0) {//限制购买次数 - let playerRecords: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.findDataByIndex(activityId, roleId, playerData.roundIndex, index); + let playerRecords: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.findDataByIndex(serverId, activityId, roleId, playerData.roundIndex, index); if (playerRecords.length >= item.countMax) { return resResult(STATUS.ACTIVITY_MAX_COUNT); } diff --git a/game-server/app/servers/activity/handler/thirtyDaysHandler.ts b/game-server/app/servers/activity/handler/thirtyDaysHandler.ts index ecc02d552..68f8561cc 100644 --- a/game-server/app/servers/activity/handler/thirtyDaysHandler.ts +++ b/game-server/app/servers/activity/handler/thirtyDaysHandler.ts @@ -22,17 +22,18 @@ export class ThirtyDaysHandler { /** * @description 获取30目标活动数据 * @param {{ }} msg + * @param {{ activityId: number}} msg * @param {BackendSession} session * @memberof ThirtyDaysHandler */ - async getThirtyDaysActivity(msg: {}, session: BackendSession) { - const { } = msg; + async getThirtyDaysActivity(msg: { activityId: number }, session: BackendSession) { + const { activityId } = msg; const roleId = session.get('roleId'); const serverId = session.get('serverId'); let todayIndex = await playerThirtyDaysActivityDays(roleId) - let playerData = await thirtyDaysActivity(ACTIVITY_TYPE.THIRTY_DAYS, serverId, roleId); + let playerData = await getPlayerThirtyDaysData(activityId, serverId, roleId) if (!playerData) return resResult(STATUS.ACTIVITY_THIRTY_DAYS_END); return resResult(STATUS.SUCCESS, { playerData, todayIndex }); @@ -94,7 +95,7 @@ export class ThirtyDaysHandler { return resResult(STATUS.ACTIVITY_TIME_ERROR); } - await ActivityThirtyDaysModel.addRecord(activityId, roleId, pageIndex, cellIndex); + await ActivityThirtyDaysModel.addRecord(serverId, activityId, roleId, pageIndex, cellIndex); let reward = thirtyDaysItemData.goodReward(); let goods = await addItems(roleId, roleName, sid, reward); let heroReward = thirtyDaysItemData.heroReward(); diff --git a/game-server/app/services/rechargeMoneyService.ts b/game-server/app/services/rechargeMoneyService.ts index 5835f9bc2..fc1db3328 100644 --- a/game-server/app/services/rechargeMoneyService.ts +++ b/game-server/app/services/rechargeMoneyService.ts @@ -17,7 +17,7 @@ import moment = require('moment'); */ export async function rechargeMoneyActivity(serverId: number, roleId: string) { - let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(ACTIVITY_TYPE.RECHARGEMONEY, new Date()) + let activityArray: ActivityModelType[] = await ActivityModel.findOpenActivityByType(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 929851fac..966508c9d 100644 --- a/game-server/app/services/selfServiceShopActivityService.ts +++ b/game-server/app/services/selfServiceShopActivityService.ts @@ -40,7 +40,7 @@ export async function getPlayerActivityData(activityId: number, serverId: number let activityData: ActivityModelType = await ActivityModel.findActivity(activityId, true); let playerData = new SelfServiceShopData(activityData); - let playerRecords: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.findDataByPriceType(activityId, roleId, playerData.roundIndex, ACTIVITY_RESOURCES_TYPE.RMB); + let playerRecords: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.findDataByPriceType(serverId, activityId, roleId, playerData.roundIndex, ACTIVITY_RESOURCES_TYPE.RMB); playerData.setPlayerRecords(playerRecords); @@ -76,6 +76,6 @@ export async function addSelfServiceShopGiftReward(roleId: string, roleName: str } let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray); //购买记录 - await ActivitySelfServiceShopModel.addBuyRecord(activityId, roleId, roundIndex, index, price, priceType, goodsStr); + await ActivitySelfServiceShopModel.addBuyRecord(serverId, activityId, roleId, roundIndex, index, price, priceType, goodsStr); return result } \ No newline at end of file diff --git a/game-server/app/services/thirtyDaysService.ts b/game-server/app/services/thirtyDaysService.ts index 28fcc8be4..0c416fd53 100644 --- a/game-server/app/services/thirtyDaysService.ts +++ b/game-server/app/services/thirtyDaysService.ts @@ -42,7 +42,7 @@ export async function thirtyDaysActivity(type: number, serverId: number, roleId: */ export async function getPlayerThirtyDaysData(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId, true); - let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(activityId, roleId); + let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activityId, roleId); let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId); let playerData = new ThirtyDaysData(activityData); @@ -61,7 +61,7 @@ export async function getPlayerThirtyDaysData(activityId: number, serverId: numb */ export async function addPlayerThirtyDaysTask(activityId: number, serverId: number, roleId: string) { let activityData: ActivityModelType = await ActivityModel.findActivity(activityId, true); - let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(activityId, roleId); + let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(serverId, activityId, roleId); let playerPointRecords: ActivityThirtyDaysPointRewardModelType[] = await ActivityThirtyDaysPointRewardModel.findData(activityId, roleId); let playerData = new ThirtyDaysData(activityData); diff --git a/shared/consts/constModules/activityConst.ts b/shared/consts/constModules/activityConst.ts index 040dfec09..9fb8a83d5 100644 --- a/shared/consts/constModules/activityConst.ts +++ b/shared/consts/constModules/activityConst.ts @@ -25,7 +25,7 @@ export enum ACTIVITY_TYPE { YUAN_BAO_SHOP = 18, // 元宝充值商店 MONTHLY_TICKET_1 = 19, // 月卡1(普通) MONTHLY_TICKET_2 = 20, // 月卡2(至尊) - RECHARGEMONEY = 21, // 累计充值RMB活动 + RECHARGE_MONEY = 21, // 累计充值RMB活动 } /** diff --git a/shared/db/Activity.ts b/shared/db/Activity.ts index 45bca043a..f17e27d0e 100644 --- a/shared/db/Activity.ts +++ b/shared/db/Activity.ts @@ -7,6 +7,8 @@ import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoos @index({ activityId: 1 }) export default class Activity extends BaseModel { + @prop({ required: true }) + serverId: number; // 服Id @prop({ required: true }) activityId: number; // 活动Id @prop({ required: true }) diff --git a/shared/db/ActivitySelfServiceShop.ts b/shared/db/ActivitySelfServiceShop.ts index 7450ad044..8a948ef42 100644 --- a/shared/db/ActivitySelfServiceShop.ts +++ b/shared/db/ActivitySelfServiceShop.ts @@ -8,6 +8,8 @@ import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoos @index({ roleId: 1 }) export default class ActivitySelfServiceShop extends BaseModel { + @prop({ required: true }) + serverId: number; // 服 @prop({ required: true }) activityId: number; // 活动Id @prop({ required: true }) @@ -24,33 +26,33 @@ export default class ActivitySelfServiceShop extends BaseModel { goods: string; // 商品信息 //添加购买记录 - public static async addBuyRecord(activityId: number, roleId: string, roundIndex: number, index: number, price: number, priceType: number, goods: string) { + public static async addBuyRecord(serverId: number, activityId: number, roleId: string, roundIndex: number, index: number, price: number, priceType: number, goods: string) { await ActivitySelfServiceShopModel.insertMany([ - { roleId, activityId, roundIndex, index, price, priceType, goods } + { serverId, roleId, activityId, roundIndex, index, price, priceType, goods } ]) } //根据活动id查询活动数据 - public static async findData(activityId: number, roleId: string, roundIndex: number, lean = true) { - let result: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.find({ roleId, activityId, roundIndex }).lean(lean); + public static async findData(serverId: number, activityId: number, roleId: string, roundIndex: number, lean = true) { + let result: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.find({ serverId, roleId, activityId, roundIndex }).lean(lean); return result; } //查询第几个货架数据 - public static async findDataByIndex(activityId: number, roleId: string, roundIndex: number, index: number, lean = true) { - let result: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.find({ roleId, activityId, roundIndex, index }).lean(lean); + public static async findDataByIndex(serverId: number, activityId: number, roleId: string, roundIndex: number, index: number, lean = true) { + let result: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.find({ serverId, roleId, activityId, roundIndex, index }).lean(lean); return result; } //查询购买价格类型的数据 - public static async findDataByPriceType(activityId: number, roleId: string, roundIndex: number, priceType: number, lean = true) { - let result: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.find({ roleId, activityId, priceType, roundIndex }).lean(lean); + public static async findDataByPriceType(serverId: number, activityId: number, roleId: string, roundIndex: number, priceType: number, lean = true) { + let result: ActivitySelfServiceShopModelType[] = await ActivitySelfServiceShopModel.find({ serverId, roleId, activityId, priceType, roundIndex }).lean(lean); return result; } //删除活动领取记录 - public static async deleteActivity(activityId: number, roleId: string, roundIndex: number, index: number,) { - await ActivitySelfServiceShopModel.deleteMany({ roleId, activityId, index, roundIndex }); + public static async deleteActivity(serverId: number, activityId: number, roleId: string, roundIndex: number, index: number,) { + await ActivitySelfServiceShopModel.deleteMany({ serverId, roleId, activityId, index, roundIndex }); } } diff --git a/shared/db/ActivityThirtyDays.ts b/shared/db/ActivityThirtyDays.ts index 63c4ab426..f2399f1fd 100644 --- a/shared/db/ActivityThirtyDays.ts +++ b/shared/db/ActivityThirtyDays.ts @@ -7,6 +7,8 @@ import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoos @index({ roleId: 1 }) export default class ActivityThirtyDays extends BaseModel { + @prop({ required: true }) + serverId: number; // 服Id @prop({ required: true }) activityId: number; // 活动Id @prop({ required: true }) @@ -23,47 +25,47 @@ export default class ActivityThirtyDays extends BaseModel { isReceive: boolean; // 是否领取过奖励 //添加领取记录 - public static async addRecord(activityId: number, roleId: string, pageIndex: number, cellIndex: number, lean = true) { - let result: ActivityThirtyDaysModelType = await ActivityThirtyDaysModel.findOneAndUpdate({ roleId, activityId, pageIndex, cellIndex }, + public static async addRecord(serverId: number, activityId: number, roleId: string, pageIndex: number, cellIndex: number, lean = true) { + let result: ActivityThirtyDaysModelType = await ActivityThirtyDaysModel.findOneAndUpdate({ serverId, roleId, activityId, pageIndex, cellIndex }, { $set: { isReceive: true } }, { upsert: true, new: true }).lean(lean); return result; } //根据活动统计完成任务次数 - public static async addTaskCount(activityId: number, roleId: string, pageIndex: number, cellIndex: number, type: number, addCount: number, lean = true) { - let result: ActivityThirtyDaysModelType = await ActivityThirtyDaysModel.findOneAndUpdate({ roleId, activityId, pageIndex, cellIndex, type }, + public static async addTaskCount(serverId: number, activityId: number, roleId: string, pageIndex: number, cellIndex: number, type: number, addCount: number, lean = true) { + let result: ActivityThirtyDaysModelType = await ActivityThirtyDaysModel.findOneAndUpdate({ serverId, roleId, activityId, pageIndex, cellIndex, type }, { $inc: { totalCount: addCount } }, { upsert: true, new: true }).lean(lean); return result; } //根据活动统计完成任务次数 - public static async setTaskCount(activityId: number, roleId: string, pageIndex: number, cellIndex: number, type: number, count: number, lean = true) { - let result: ActivityThirtyDaysModelType = await ActivityThirtyDaysModel.findOneAndUpdate({ roleId, activityId, pageIndex, cellIndex, type }, + public static async setTaskCount(serverId: number, activityId: number, roleId: string, pageIndex: number, cellIndex: number, type: number, count: number, lean = true) { + let result: ActivityThirtyDaysModelType = await ActivityThirtyDaysModel.findOneAndUpdate({ serverId, roleId, activityId, pageIndex, cellIndex, type }, { $set: { totalCount: count } }, { upsert: true, new: true }).lean(lean); return result; } //根据活动id查询活动数据 - public static async findData(activityId: number, roleId: string, lean = true) { - let result: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.find({ roleId, activityId }).lean(lean); + public static async findData(serverId: number, activityId: number, roleId: string, lean = true) { + let result: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.find({ serverId, roleId, activityId }).lean(lean); return result; } //查询第几页的活动数据 - public static async findDataBypageIndex(activityId: number, roleId: string, pageIndex: number, lean = true) { - let result: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.find({ roleId, activityId, pageIndex }).lean(lean); + public static async findDataBypageIndex(serverId: number, activityId: number, roleId: string, pageIndex: number, lean = true) { + let result: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.find({ serverId, roleId, activityId, pageIndex }).lean(lean); return result; } //查询第*页的某个的活动数据 - public static async findDataByCellIndex(activityId: number, roleId: string, pageIndex: number, cellIndex: number, lean = true) { - let result: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.find({ roleId, activityId, pageIndex, cellIndex }).lean(lean); + public static async findDataByCellIndex(serverId: number, activityId: number, roleId: string, pageIndex: number, cellIndex: number, lean = true) { + let result: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.find({ serverId, roleId, activityId, pageIndex, cellIndex }).lean(lean); return result; } //删除活动领取记录 - public static async deleteActivity(activityId: number, roleId: string, pageIndex: number, cellIndex: number) { - await ActivityThirtyDaysModel.deleteMany({ roleId, activityId, pageIndex, cellIndex }); + public static async deleteActivity(serverId: number, activityId: number, roleId: string, pageIndex: number, cellIndex: number) { + await ActivityThirtyDaysModel.deleteMany({ serverId, roleId, activityId, pageIndex, cellIndex }); } } diff --git a/shared/pubUtils/taskUtil.ts b/shared/pubUtils/taskUtil.ts index f6ec0bc3f..cf821a60b 100644 --- a/shared/pubUtils/taskUtil.ts +++ b/shared/pubUtils/taskUtil.ts @@ -534,13 +534,13 @@ export async function accomplishTask(roleId: string, taskType: TASK_TYPE, count: allActivity = await ActivityModel.findOpenActivityByType(ACTIVITY_TYPE.THIRTY_DAYS, new Date()); for (let activity of allActivity) { let thirtyDaysActivity = new ThirtyDaysData(activity); - let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(activity.activityId, roleId); + let playerRecords: ActivityThirtyDaysModelType[] = await ActivityThirtyDaysModel.findData(activity.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(thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.taskType, addCount); + await ActivityThirtyDaysModel.addTaskCount(activity.serverId, thirtyDaysActivity.activityId, roleId, task.pageIndex, task.cellIndex, task.taskType, addCount); } } }