diff --git a/game-server/app/servers/activity/handler/popUpShopHandler.ts b/game-server/app/servers/activity/handler/popUpShopHandler.ts index e1f3b026a..11e90917a 100644 --- a/game-server/app/servers/activity/handler/popUpShopHandler.ts +++ b/game-server/app/servers/activity/handler/popUpShopHandler.ts @@ -1,6 +1,6 @@ import { Application, BackendSession, HandlerService, } from 'pinus'; import { resResult, splitString } from '../../../pubUtils/util'; -import { ACTIVITY_RESOURCES_TYPE, CURRENCY_BY_TYPE, STATUS, CURRENCY_TYPE, ITEM_CHANGE_REASON, POP_UP_SHOP_CONDITION_TYPE, ACTIVITY_TYPE, } from '../../../consts'; +import { ACTIVITY_RESOURCES_TYPE, CURRENCY_BY_TYPE, STATUS, CURRENCY_TYPE, ITEM_CHANGE_REASON, POP_UP_SHOP_CONDITION_TYPE, ACTIVITY_TYPE, DEBUG_MAGIC_WORD, } from '../../../consts'; import { checkPopUpCondition, getPopUpShopData, getPopUpShopDataShow } from '../../../services/activity/popUpShopService'; import { ActivityModel, ActivityModelType } from '../../../db/Activity'; import { ActivityPopUpShopModel, ActivityPopUpShopModelType } from '../../../db/ActivityPopUpShop'; @@ -9,7 +9,7 @@ import { addReward, stringToConsumeParam, stringToRewardParam } from '../../../s import { RewardParam } from '../../../domain/activityField/rewardField'; import { handleCost } from '../../../services/role/rewardService'; import moment = require('moment'); -import { getActivityById } from '../../../services/activity/activityService'; +import { getActivitiesByType, getActivityById } from '../../../services/activity/activityService'; export default function (app: Application) { new HandlerService(app, {}); @@ -103,4 +103,31 @@ export class PopUpShopHandler { }); } + async debugPushPopUpShop(msg: { conditionType: number, magicWord: string }, session: BackendSession) { + const roleId = session.get('roleId'); + let serverId = session.get('serverId'); + const { magicWord, conditionType } = msg; + if (magicWord !== DEBUG_MAGIC_WORD) { + return resResult(STATUS.TOKEN_ERR); + } + let activities = await getActivitiesByType(serverId, ACTIVITY_TYPE.POP_UP_SHOP); + for(let { activityId } of activities) { + let playerData = await getPopUpShopData(activityId, serverId, roleId); + for(let pkg of playerData.packages) { + if(pkg.conditionType == conditionType) { + await ActivityPopUpShopModel.deleteMany({ roleId, activityId, id: pkg.id }); + } + } + } + + + let arr = await checkPopUpCondition(serverId, roleId, conditionType, { + oldLv: 0, + newLv: 100, + quality: 3, + }); + + return resResult(STATUS.SUCCESS, { activities:arr }); + } + } diff --git a/game-server/app/services/activity/activityService.ts b/game-server/app/services/activity/activityService.ts index a3755b844..e1cf9054f 100644 --- a/game-server/app/services/activity/activityService.ts +++ b/game-server/app/services/activity/activityService.ts @@ -426,6 +426,7 @@ export async function pushActivities(arr: pushActivityInter[], roleId: string, s }), [{ uid: roleId, sid }]); } + return arr } export async function pushActivitiesToGuild(arr: pushActivityInter[], guildCode: string) { diff --git a/game-server/app/services/activity/popUpShopService.ts b/game-server/app/services/activity/popUpShopService.ts index df28b3600..c1703a34d 100644 --- a/game-server/app/services/activity/popUpShopService.ts +++ b/game-server/app/services/activity/popUpShopService.ts @@ -81,7 +81,7 @@ export async function checkPopUpConditions(serverId: number, roleId: string, con } } console.log('##### 6', pushData.length) - await pushActivities(pushData, roleId); + return await pushActivities(pushData, roleId); }