From a74b6595900bb122ecedebf659b955a2ffd9c501 Mon Sep 17 00:00:00 2001 From: luying Date: Mon, 26 Oct 2020 13:55:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9C=E5=BE=81=E6=B7=BB=E5=8A=A0=E6=88=98?= =?UTF-8?q?=E5=9C=BA=E5=89=8D=E6=A0=A1=E9=AA=8C=E5=92=8C=E6=88=98=E5=90=8E?= =?UTF-8?q?=E6=8E=89=E8=90=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../servers/battle/handler/expeditionBattleHandler.ts | 9 ++++++++- shared/db/Hero.ts | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/game-server/app/servers/battle/handler/expeditionBattleHandler.ts b/game-server/app/servers/battle/handler/expeditionBattleHandler.ts index 756aea673..e3db973cd 100644 --- a/game-server/app/servers/battle/handler/expeditionBattleHandler.ts +++ b/game-server/app/servers/battle/handler/expeditionBattleHandler.ts @@ -13,6 +13,7 @@ import { handleFixedReward } from '../../../services/rewardService'; import { getAp, setAp } from '../../../services/actionPointService'; import { STATUS } from '../../../consts/statusCode'; import { resResult } from '../../../pubUtils/util'; +import { checkBattleHeroes, roleLevelup } from '../../../services/normalBattleService'; export default function(app: Application) { return new ExpeditionBattleHandler(app); @@ -137,6 +138,9 @@ export class ExpeditionBattleHandler { if(!preBattle) return resResult(STATUS.BATTLE_NEED_PREVIOUS_GK); } + let checkHeroes = checkBattleHeroes(roleId, heroes); + if(!checkHeroes) return resResult(STATUS.BATTLE_HERO_NOT_FOUND); + let expeditionWarRecord = await ExpeditionWarRecordModel.getRecordByCodeAndId(expeditionCode, expeditionId); if(!expeditionWarRecord ) { return resResult(STATUS.EXPEDITION_MISS_WAR_RECORD); @@ -228,13 +232,16 @@ export class ExpeditionBattleHandler { let warReward = new WarReward(roleId, roleName, battleId, isSuccess); let reward = await warReward.saveReward(1); + let actordata = await roleLevelup(roleId, warInfo.kingExp)// 主公升级经验 + return resResult(STATUS.SUCCESS, { expeditionCode, expeditionId, battleCode, battleId, battleStatus: expeditionWarRecord.battleStatus, ...reward, apJson, - expeditionPoint + expeditionPoint, + ...actordata }); } diff --git a/shared/db/Hero.ts b/shared/db/Hero.ts index 612981c77..2fffb0d91 100644 --- a/shared/db/Hero.ts +++ b/shared/db/Hero.ts @@ -82,7 +82,7 @@ export default class Hero extends BaseModel { { $limit: num }, { $group: { _id: null, ce: { $sum: '$ce' } } } ]); - return ce[0].ce; + return ce.length > 0?ce[0].ce:0; } public static async sumHeroCe(roleId: string) { @@ -90,7 +90,7 @@ export default class Hero extends BaseModel { { $match : { roleId } }, { $group: { _id: null, ce: { $sum: '$ce' } } } ]); - return ce[0].ce; + return ce.length > 0?ce[0].ce:0; } public static async deleteAccount(roleId: string, lean = true) {