From 7ad1b703d3325d8e9c1bb4d01acfeac407d0879e Mon Sep 17 00:00:00 2001 From: luying Date: Wed, 11 Nov 2020 16:46:54 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E6=89=B9=E9=87=8F=E6=B7=BB=E5=8A=A0=E6=AD=A6=E5=B0=86?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gm-server/app/service/users.ts | 21 ++++++++------------- shared/db/Hero.ts | 1 + 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/gm-server/app/service/users.ts b/gm-server/app/service/users.ts index b7544e31c..db0ad2de0 100644 --- a/gm-server/app/service/users.ts +++ b/gm-server/app/service/users.ts @@ -186,22 +186,16 @@ export default class GMUsers extends Service { if(isNaN(hid)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS); } - let flag = 0, msg = '创建失败',heroInfos = new Array(); + let heroInfos = new Array(); for(let roleId of uids) { let role = await RoleModel.findByRoleId(roleId); if(role) { for(let hid of hids) { let hero = await HeroModel.findByHidAndRole(hid, roleId); - if(hero) { - flag = 1, msg = "角色" + roleId + "已拥有武将" + hid; - break; - } + if(hero) continue; const seqId = await CounterModel.getNewCounter('hid')||-1; let dicHero = ctx.service.utils.getHeroById(hid); - if(!dicHero) { - flag = 1, msg = "未找到武将" + hid; - break; - } + if(!dicHero) continue; let ce = ctx.service.utils.calculateCE({hid: hid, lv: hlv}); const heroInfo = { @@ -216,17 +210,18 @@ export default class GMUsers extends Service { heroInfos.push(heroInfo); } } else { - flag = 1, msg = '未找到角色' + roleId; + return ctx.service.utils.resResult(STATUS.GM_CREATE_ERROR, null, '未找到角色' + roleId) } } - if (flag) { - return ctx.service.utils.resResult(STATUS.GM_CREATE_ERROR, null, msg); - } else { + try { + console.log for(let heroInfo of heroInfos) { await HeroModel.createHero(heroInfo); } return ctx.service.utils.resResult(STATUS.SUCCESS, { uids }); + } catch(e) { + console.error(e.stack) } } diff --git a/shared/db/Hero.ts b/shared/db/Hero.ts index b2de6cd0e..1311e80db 100644 --- a/shared/db/Hero.ts +++ b/shared/db/Hero.ts @@ -77,6 +77,7 @@ export default class Hero extends BaseModel { public static async createHero(heroInfo: {roleId: string, roleName: string, hid: number, hName: string, seqId: number, lv?:number, ce: number}, lean = true) { const doc = new HeroModel(); const update = Object.assign(doc.toJSON(), heroInfo); + delete update._id; const hero = await HeroModel.findOneAndUpdate({roleId: heroInfo.roleId, hid: heroInfo.hid}, update, {upsert: true, new: true}).lean(lean); return hero; }