测试:添加测试用debug接口
This commit is contained in:
@@ -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 });
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 });
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user