From 549908eca0918bd9847507eba9f31968c09f2918 Mon Sep 17 00:00:00 2001 From: luying Date: Mon, 11 Oct 2021 15:28:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=EF=BC=9A=E6=B8=85=E7=A9=BA?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7debug=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/servers/role/handler/roleHandler.ts | 25 ++++++++++++++++--- shared/db/Role.ts | 1 + 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/game-server/app/servers/role/handler/roleHandler.ts b/game-server/app/servers/role/handler/roleHandler.ts index c5c662300..a3cd618e5 100644 --- a/game-server/app/servers/role/handler/roleHandler.ts +++ b/game-server/app/servers/role/handler/roleHandler.ts @@ -1,10 +1,10 @@ import { STATUS } from '../../../consts/statusCode'; import { RoleModel, RoleUpdate } from './../../../db/Role'; import { HeroModel, HeroUpdate } from '../../../db/Hero'; -import { resResult, decodeIdCntArrayStr, parseGoodStr } from '../../../pubUtils/util'; +import { resResult, decodeIdCntArrayStr, parseGoodStr, genCode } from '../../../pubUtils/util'; import { Application, BackendSession, pinus, HandlerService, } from 'pinus'; import { handleCost, addItems, createHeroes } from '../../../services/rewardService'; -import { getTitle, getTeraph, gameData, getScollByStar, getFriendLvByExp, getHeroExpByLv } from '../../../pubUtils/data'; +import { getTitle, getTeraph, gameData, getScollByStar, getFriendLvByExp, getHeroExpByLv, getExpByLv } from '../../../pubUtils/data'; import { SCHOOL, SCROLL, EXTERIOR, SCRIPT } from '../../../pubUtils/dicParam'; import { getAtrrNameById } from '../../../consts/constModules/abilityConst' import { findIndex } from 'underscore'; @@ -12,7 +12,7 @@ import { SclResultInter, SclPosInter } from '../../../pubUtils/interface'; 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 { 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, COUNTER, DEFAULT_LV } from '../../../consts'; import { checkBattleHeroesByHid, roleLevelup } from '../../../services/normalBattleService'; import { Rank } from '../../../services/rankService'; import { updateUserInfo } from '../../../services/redisService'; @@ -24,6 +24,7 @@ import { CreateHeroes, deletRole } from '../../../pubUtils/roleUtil'; import { Figure } from '../../../domain/dbGeneral'; import { getActivities } from '../../../services/activity/activityService'; import * as dicParam from '../../../pubUtils/dicParam'; +import Counter from '../../../db/Counter'; export default function (app: Application) { new HandlerService(app, {}); @@ -553,8 +554,24 @@ export class RoleHandler { return resResult(STATUS.TOKEN_ERR); } + console.log('*************** 1') let roleId = session.get('roleId'); - await deletRole(roleId); + let role = await RoleModel.findByRoleId(roleId); + console.log('*************** 2') + if(role?.hasInit) { + console.log('*************** 3') + let userInfo = role.userInfo; + let newRoleId = genCode(10); + const seqId = await Counter.getNewCounter(COUNTER.ROLE) || -1; + console.log('*************** 4') + role = await RoleModel.createRole(userInfo.uid, role.serverId, { roleId: newRoleId, code: role.code, roleName: newRoleId, seqId, lv: DEFAULT_LV, exp: (getExpByLv(DEFAULT_LV - 1) || { sum: 0 }).sum || 0 }); + // await RoleModel.findOneAndUpdate({ roleId }, { $set: { 'userInfo.uid': 0, roleName: 'deletedRole' } }); + + console.log('*************** 5') + } + session.set('roleId', role.roleId); + session.push('roleId', () => {}); + console.log('*************** 6') return resResult(STATUS.SUCCESS); } diff --git a/shared/db/Role.ts b/shared/db/Role.ts index a2e9705e6..fb247ec0d 100644 --- a/shared/db/Role.ts +++ b/shared/db/Role.ts @@ -358,6 +358,7 @@ export default class Role extends BaseModel { if (!user) return null; const doc = new RoleModel(); const update = Object.assign(doc.toJSON(), roleInfo, { userInfo: user, serverType: user.serverType, serverId }); + delete update._id; const role: RoleType = await RoleModel.findOneAndUpdate({ 'userInfo.uid': uid, serverId }, update, { upsert: true, new: true }).lean(lean); return role; }