测试:添加测试用debug接口

This commit is contained in:
luying
2021-09-30 18:41:28 +08:00
parent 5402246a50
commit f4666f81d3
2 changed files with 70 additions and 72 deletions

View File

@@ -26,77 +26,6 @@ export class HeroHandler {
constructor(private app: Application) {
}
public async test(msg: {}, session: BackendSession) {
let sid = session.get('sid');
for (let i = 0; i < 3; i++) {
let heroes = await HeroModel.find({}).sort({ createdAt: 1 }).limit(1000).skip(i * 1000).lean();
for (let { hid, roleId, roleName, skins } of heroes) {
await HeroModel.updateHeroInfo(roleId, hid, { skins: [] });
for (let { id, enable } of skins) {
console.log(i, roleId, roleName, id);
await addSkin(roleId, roleName, id, enable);
}
}
}
return 'OK'
}
// ! 测试接口用来测试前清理并初始化某个武将代码抄自gm-server/app/service/users.ts deleteHero
public async testCleanUp(msg: { magicWord: string, hid: number }, session: BackendSession) {
let roleId: string = session.get('roleId');
let roleName: string = session.get('roleName');
let sid: string = session.get('sid');
const { magicWord, hid } = msg;
if (magicWord !== DEBUG_MAGIC_WORD) {
return resResult(STATUS.TOKEN_ERR);
}
let dicHero = gameData.hero.get(hid);
if (!dicHero) return resResult(STATUS.HERO_NOT_FIND);
await addItems(roleId, roleName, sid, [{
id: dicHero.pieceId, count: dicHero.pieceCount * HERO_GROW_MAX.STAR * ABI_STAGE.END
}]);
let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
await HeroModel.deleteHero(roleId, hid);
let role = await RoleModel.findByRoleId(roleId);
await calculatetopLineup(role, hid, 0, null);
await PvpDefenseModel.deleteHero(roleId, hid);
await RoleModel.updateRoleInfo(roleId, { topLineup: role.topLineup, topLineupCe: role.topLineupCe, ce: role.ce - hero.ce });
return resResult(STATUS.SUCCESS);
}
public async addItem(msg: { id: number, count: number }, session: BackendSession) {
let roleId: string = session.get('roleId');
let roleName: string = session.get('roleName');
let sid: string = session.get('sid');
let { id, count } = msg;
//let result = await handleCost(roleId, sid, [{id, count}] );
let items = [{ id, count }];
let role = await RoleModel.findByRoleId(roleId);
if (id == 999999) {
items = getDropItems();
if (role.lv < 60) {
role.lv = 60;
let roleLvInfo = gameData.kingexp.get(role.lv - 1);
role.exp = roleLvInfo.sum;
await RoleModel.updateRoleInfo(roleId, role);
}
}
let result = await addItems(roleId, roleName, sid, items);
if (!result) {
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
}
return resResult(STATUS.SUCCESS, { goods: result, lv: role.lv, exp: role.exp });
}
// 武将碎片合成
public async compose(msg: { hid: number }, session: BackendSession) {
@@ -685,4 +614,60 @@ export class HeroHandler {
return resResult(STATUS.SUCCESS, resultHeroes);
}
// ! 测试接口用来测试前清理并初始化某个武将代码抄自gm-server/app/service/users.ts deleteHero
public async testCleanUp(msg: { magicWord: string, hid: number }, session: BackendSession) {
let roleId: string = session.get('roleId');
let roleName: string = session.get('roleName');
let sid: string = session.get('sid');
const { magicWord, hid } = msg;
if (magicWord !== DEBUG_MAGIC_WORD) {
return resResult(STATUS.TOKEN_ERR);
}
let dicHero = gameData.hero.get(hid);
if (!dicHero) return resResult(STATUS.HERO_NOT_FIND);
await addItems(roleId, roleName, sid, [{
id: dicHero.pieceId, count: dicHero.pieceCount * HERO_GROW_MAX.STAR * ABI_STAGE.END
}]);
let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
await HeroModel.deleteHero(roleId, hid);
let role = await RoleModel.findByRoleId(roleId);
await calculatetopLineup(role, hid, 0, null);
await PvpDefenseModel.deleteHero(roleId, hid);
await RoleModel.updateRoleInfo(roleId, { topLineup: role.topLineup, topLineupCe: role.topLineupCe, ce: role.ce - hero.ce });
return resResult(STATUS.SUCCESS);
}
public async addItem(msg: { id: number, count: number }, session: BackendSession) {
let roleId: string = session.get('roleId');
let roleName: string = session.get('roleName');
let sid: string = session.get('sid');
let { id, count } = msg;
//let result = await handleCost(roleId, sid, [{id, count}] );
let items = [{ id, count }];
let role = await RoleModel.findByRoleId(roleId);
if (id == 999999) {
items = getDropItems();
if (role.lv < 60) {
role.lv = 60;
let roleLvInfo = gameData.kingexp.get(role.lv - 1);
role.exp = roleLvInfo.sum;
await RoleModel.updateRoleInfo(roleId, role);
}
}
let result = await addItems(roleId, roleName, sid, items);
if (!result) {
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
}
return resResult(STATUS.SUCCESS, { goods: result, lv: role.lv, exp: role.exp });
}
}

View File

@@ -13,7 +13,7 @@ import { SchoolModel } from '../../../db/School';
import { getTeraphStrengthenResult, getSchoolList } from '../../../services/roleService'
import { calPlayerCeAndSave, calAllHeroCe } from '../../../services/playerCeService';
import { HERO_SYSTEM_TYPE, LINEUP_NUM, ROLE_SELECT, REDIS_KEY, TASK_TYPE, DEFAULT_HEROES, DEFAULT_HERO_LV, DEFAULT_ITEMS, DEFAULT_EQUIPS, DEFAULT_GOLD, DEFAULT_COIN, DEBUG_MAGIC_WORD } from '../../../consts';
import { checkBattleHeroesByHid } from '../../../services/normalBattleService';
import { checkBattleHeroesByHid, roleLevelup } from '../../../services/normalBattleService';
import { Rank } from '../../../services/rankService';
import { updateUserInfo } from '../../../services/redisService';
import { checkTaskWithHero, checkTask, checkTaskWithArgs, checkActivityTask } from '../../../services/taskService';
@@ -558,4 +558,17 @@ export class RoleHandler {
return resResult(STATUS.SUCCESS);
}
async debugRoleLvUp(msg: { magicWord: string, lv: number }, session: BackendSession) {
const { magicWord, lv } = msg;
if (magicWord !== DEBUG_MAGIC_WORD) {
return resResult(STATUS.TOKEN_ERR);
}
let roleId = session.get('roleId');
let roleLvInfo = gameData.kingexp.get(lv - 1);
let role = await RoleModel.updateRoleInfo(roleId, { lv, exp: roleLvInfo.sum });
return resResult(STATUS.SUCCESS, { lv: role.lv });
}
}