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) {