diff --git a/game-server/app/servers/activity/handler/activityHandler.ts b/game-server/app/servers/activity/handler/activityHandler.ts index 22d3315a3..8ec8b596b 100644 --- a/game-server/app/servers/activity/handler/activityHandler.ts +++ b/game-server/app/servers/activity/handler/activityHandler.ts @@ -24,7 +24,7 @@ export class ActivityHandler { * @param {BackendSession} session * @memberof ActivityHandler */ - async getAllOpenActivity(msg: { hid: number, lv: number }, session: BackendSession) { + async getAllOpenActivity(msg: {}, session: BackendSession) { const { } = msg; const roleId = session.get('roleId'); const serverId = session.get('serverId'); @@ -93,9 +93,19 @@ export class ActivityHandler { //aesEncryptcfb console.log('13121622738', await aesEncryptcfb("13121622738", ENCRYPT_KEY, ENCRYPT_IV)) //18612532385:cc80b189dc03cff31fe75d - //13636354764:cc8bb18bd805c9f51be95c + //13636354764:cc8bb18bd805c9f51be95c,Z6ArLdom2c //13121622738:cc8bb68adf00cef31bec50 return resResult(STATUS.SUCCESS,); } + + async debugActivityByType(msg: { type: number }, session: BackendSession) { + const { type } = msg; + const roleId = session.get('roleId'); + const serverId = session.get('serverId'); + const sid: string = session.get('sid'); + const funcs: number[] = session.get('funcs'); + let activityData = await ActivityModel.debugFindActivityByType(type); + return resResult(STATUS.SUCCESS, activityData); + } } diff --git a/game-server/app/servers/activity/handler/activityMonopolyHandler.ts b/game-server/app/servers/activity/handler/activityMonopolyHandler.ts index 4575c5958..e88c92db6 100644 --- a/game-server/app/servers/activity/handler/activityMonopolyHandler.ts +++ b/game-server/app/servers/activity/handler/activityMonopolyHandler.ts @@ -25,8 +25,8 @@ export class ActivityMonopolyHandler { * @param {BackendSession} session * @memberof ActivityMonopolyHandler */ - async getMonopolyActivity(msg: { activityId: number, position: number }, session: BackendSession) { - const { activityId, position } = msg; + async getMonopolyActivity(msg: { activityId: number }, session: BackendSession) { + const { activityId } = msg; const roleId = session.get('roleId'); const serverId = session.get('serverId'); const sid: string = session.get('sid'); diff --git a/game-server/test/activity.test.ts b/game-server/test/activity.test.ts new file mode 100644 index 000000000..08ee9e82e --- /dev/null +++ b/game-server/test/activity.test.ts @@ -0,0 +1,237 @@ +import 'mocha'; +import { PinusWSClient } from 'pinus-robot-plugin'; +import { expect } from 'chai'; +import { Client } from './Client'; +import { checkSuccessResponse } from './CheckPatten'; +import { ACTIVITY_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, STATUS } from '../app/consts'; +describe('活动测试', function () { + let pinusClient: PinusWSClient; + let playerGroupArray: [] = []; + let activityId: number = 0; + + before(function (done) { + const c = new Client(); + const timer = setInterval(() => { + if (c.client) { + pinusClient = c.client; + clearInterval(timer); + done(); + } + }, 500); + }); + + after(function (done) { + pinusClient.disconnect(); + done(); + }); + + it('获取所有活动', function (done) { + pinusClient.request('activity.activityHandler.getAllOpenActivity', {}, (res) => { + checkSuccessResponse(res); + playerGroupArray = res.data.playerGroupArray; + console.log(`${playerGroupArray.length}个合集数据`) + done(); + }); + }); + + it('签到活动-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.signInHandler.getSignInActivity', ACTIVITY_TYPE.SIGN_IN, done); + }); + + it('签到活动(高级)-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.signInHandler.getSignInActivity', ACTIVITY_TYPE.SIGN_IN_VIP, done); + }); + + it('主线成长基金-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.growthFundHandler.getGrowthFundActivity', ACTIVITY_TYPE.GROWTH_FUND_MAIN, done); + }); + + it('主线成长基金高阶-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.growthFundHandler.getGrowthFundActivity', ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP, done); + }); + + it('镇念塔成长基金-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.growthFundHandler.getGrowthFundActivity', ACTIVITY_TYPE.GROWTH_FUND_TOWER, done); + }); + + it('镇念塔成长基金高阶-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.growthFundHandler.getGrowthFundActivity', ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP, done); + }); + + it('精英成长基金-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.growthFundHandler.getGrowthFundActivity', ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE, done); + }); + + it('精英成长基金高阶-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.growthFundHandler.getGrowthFundActivity', ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP, done); + }); + + it('30日目标活动-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.thirtyDaysHandler.getThirtyDaysActivity', ACTIVITY_TYPE.THIRTY_DAYS, done); + }); + + it('自选商店-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.selfServiceShopHandler.getSelfServiceShopActivity', ACTIVITY_TYPE.SELF_SERVICE_SHOP, done); + }); + + it('首充礼包-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.firstGiftHandler.getFirstGiftActivity', ACTIVITY_TYPE.FIRST_GIFT, done); + }); + + it('新手限定RMB购买礼包-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.limitPackageHandler.getNewPlayerLimitPackageActivity', ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE, done); + }); + + it('每日限购礼包-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.limitPackageHandler.getLimitPackageActivity', ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_DAILY, done); + }); + + it('每周限购礼包-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.limitPackageHandler.getLimitPackageActivity', ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_WEEKLY, done); + }); + + it('元宝充值商店-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.yuanbaoShopHandler.getShopActivity', ACTIVITY_TYPE.YUAN_BAO_SHOP, done); + }); + + it('月卡1(普通)-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.monthlyTicketHandler.getMonthlyTicketActivity', ACTIVITY_TYPE.MONTHLY_TICKET_1, done); + }); + + it('月卡2(至尊)-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.monthlyTicketHandler.getMonthlyTicketActivity', ACTIVITY_TYPE.MONTHLY_TICKET_2, done); + }); + + it('累计充值RMB活动-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.rechargeMoneyHandler.getRechargeMoneyActivity', ACTIVITY_TYPE.RECHARGE_MONEY, done); + }); + + it('每日特惠RMB购买-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.dailyRMBGiftsHandler.getDailyRMBGiftsActivity', ACTIVITY_TYPE.DAILY_RMB_GIFTS, done); + }); + + it('寻宝骑兵活动-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.treasureHuntHandler.getTreasureHuntActivity', ACTIVITY_TYPE.TREASURE_HUNT, done); + }); + + it('弹出商店-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.popUpShopHandler.getPopUpShopActivity', ACTIVITY_TYPE.POP_UP_SHOP, done); + }); + + it('新手签到活动-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.signInHandler.getSignInActivity', ACTIVITY_TYPE.NEW_PLAYER_SIGN_IN, done); + }); + + it('vip累计充值RMB活动-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.vipRechargeMoneyHandler.getVipRechargeMoneyActivity', ACTIVITY_TYPE.VIP_RECHARGE_MONEY, done); + }); + + it('通用七天乐活动-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.sevenDaysHandler.getSevenDaysActivity', ACTIVITY_TYPE.COMMON_SEVEN_DAY, done); + }); + + it('每日领取免费午饭、晚饭-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.dailyMealHandler.getDailyMealActivity', ACTIVITY_TYPE.DAILY_MEAL, done); + }); + + it('每日兑换铜钱-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.dailyCoinHandler.getDailyCoinActivity', ACTIVITY_TYPE.DAILY_COIN, done); + }); + + it('每日关卡-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.dailyGKHandler.getDailyGKActivity', ACTIVITY_TYPE.DAILY_GK, done); + }); + + it('通用的刷新商店-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.refreshShopHandler.getRefreshShopActivity', ACTIVITY_TYPE.REFRESH_SHOP, done); + }); + + it('通用的刷新任务-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.refreshTaskHandler.getRefreshTaskActivity', ACTIVITY_TYPE.REFRESH_TASK, done); + }); + + it('大富翁-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.activityMonopolyHandler.getMonopolyActivity', ACTIVITY_TYPE.MONOPOLY, done); + }); + + it('大富翁-移动', function (done) { + if (activityId) { + requestActivity(pinusClient, 'role.heroHandler.addItem', { id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.SPECIAL_DICE), count: 1 }) + .then((data: any) => { + checkSuccessResponse(data); + return requestActivity(pinusClient, 'activity.activityMonopolyHandler.move', { activityId: activityId, step: 1 }) + }) + .then((data: any) => { + checkSuccessResponse(data); + done() + }) + } else { + noActivityData(done); + } + }); + + it('通用签到-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.signInHandler.getSignInActivity', ACTIVITY_TYPE.COMMON_SIGN_IN, done); + }); + + it('新将好礼-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.newHeroGiftsHandler.getNewHeroGiftsActivity', ACTIVITY_TYPE.NEW_HERO_GIFTS, done); + }); + + it('新将演绎-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.newHeroGKHandler.getNewHeroGKActivity', ACTIVITY_TYPE.NEW_HERO_GK, done); + }); + + it('新将擢迁(新武将抽卡)-活动数据', function (done) { + checkActivityData(pinusClient, 'activity.newHeroGachaHandler.getNewHeroGachaActivity', ACTIVITY_TYPE.NEW_HERO_GACHA, done); + }); + + function checkActivityData(pinusClient, url, type, done) { + try { + requestActivity(pinusClient, 'activity.activityHandler.debugActivityByType', { type }) + .then((data: any) => { + if (data.data) { + checkSuccessResponse(data); + return data.data + } else { + return null; + } + }) + .then((activityData: any) => { + if (activityData && activityData.activityId) { + activityId = activityData.activityId; + // console.log('activityId', activityData.activityId) + return requestActivity(pinusClient, url, { activityId: activityData.activityId }); + } else { + noActivityData(done); + } + }) + .then((data: any) => { + if (data.code == STATUS.ACTIVITY_CLOSED.code || data.code == STATUS.ACTIVITY_NEW_PLAYER_GIFT_END.code) {//活动正常关闭 + done() + } else { + checkSuccessResponse(data); + done() + } + }) + } catch (error) { + console.log('error', error) + } + } + + + function noActivityData(done) { + console.warn('没有此活动数据'); + activityId = 0; + done() + } + + function requestActivity(pinusClient, route: string, msg: any) { + return new Promise(resolve => { + pinusClient.request(route, msg, (res) => { + resolve(res); + }); + }) + } + +}); diff --git a/shared/db/Activity.ts b/shared/db/Activity.ts index bc92d0771..3de0b1caf 100644 --- a/shared/db/Activity.ts +++ b/shared/db/Activity.ts @@ -56,6 +56,12 @@ export default class Activity extends BaseModel { return result; } + //debug测试用接口 + public static async debugFindActivityByType(type: number) { + let result: ActivityModelType[] = await ActivityModel.findOne({ type }).lean(true); + return result; + } + //根据活动id查询活动数据 public static async findActivity(activityId: number) { let result: ActivityModelType = await ActivityModel.findOne({ activityId }).lean(true);