主线,每日,奇遇,远征修改错误码

This commit is contained in:
luying
2020-10-16 20:42:14 +08:00
parent df2da73006
commit a027317124
8 changed files with 142 additions and 135 deletions
@@ -9,6 +9,8 @@ import { checkTowerWar, towerBattleEnd } from '../../../services/battleService';
import { WarReward } from '../../../services/warRewardService';
import { getAp, setAp } from '../../../services/actionPointService';
import { setBattleStatus, startEvent } from '../../../services/eventSercive';
import { STATUS } from '../../../consts/statusCode';
import { resResult } from '../../../pubUtils/util';
export default function(app: Application) {
return new NormalBattleHandler(app);
@@ -25,7 +27,7 @@ export class NormalBattleHandler {
let roleName = session.get('roleName');
let warInfo = getWarById(battleId);
if(!warInfo) {
return { code: 202, data: "缺少关卡信息" }
return resResult(STATUS.BATTLE_MISS_INFO);
}
if(!warInfo.hasOwnProperty('cost')) {
warInfo['cost'] = 0;
@@ -34,14 +36,14 @@ export class NormalBattleHandler {
let apJson = await getAp(Date.now(), roleId);
let {ap} = apJson;
if(ap < warInfo.cost) {
return { code: 202, data: "体力不足" }
return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
}
// 前置关卡是否挑战过
let previousGk = warInfo.previousGk;
if(previousGk) {
let preBattle = await BattleRecordModel.getBattleRecordByIdAndStatus(roleId, previousGk, 1);
if(!preBattle) return {code: 202, data: '需要完成上一关才可以挑战'};
if(!preBattle) return resResult(STATUS.BATTLE_NEED_PREVIOUS_GK);
}
let dailyNum = {};
@@ -49,13 +51,13 @@ export class NormalBattleHandler {
if(warInfo.warType == WAR_TYPE.DAILY) {
let checkResult = await checkDaily(roleId, battleId, 1);
if(checkResult.status == -1) {
return {code: 202, data: checkResult.msg}
return checkResult.resResult
}
dailyNum = { type: checkResult.type, count: checkResult.count, sum: checkResult.sum };
} else if (warInfo.warType == WAR_TYPE.TOWER) {
let checkResult = await checkTowerWar(roleId, battleId, heroes);
if(checkResult.status) {
return {code: 202, data: checkResult.msg}
return checkResult.resResult
}
towerData = Object.assign(towerData, checkResult.data);
}
@@ -73,12 +75,9 @@ export class NormalBattleHandler {
let {status} = BattleRecord;
return {
code: 200,
data: {
battleId, battleCode, status, apJson, dailyNum, towerData
}
}
return resResult(STATUS.SUCCESS, {
battleId, battleCode, status, apJson, dailyNum, towerData
});
}
// 关卡列表
@@ -95,7 +94,9 @@ export class NormalBattleHandler {
}
}
return { code: 200, data: result }
return resResult(STATUS.SUCCESS, {
list: result
});
}
// 关卡结算,记录使用的武将,获得奖励
@@ -107,7 +108,7 @@ export class NormalBattleHandler {
let sid = session.get('sid');
let warInfo = getWarById(battleId);
if(!warInfo) {
return { code: 202, data: "缺少关卡信息" }
return resResult(STATUS.BATTLE_MISS_INFO);
}
if(!warInfo.hasOwnProperty('cost')) {
warInfo['cost'] = 0;
@@ -115,7 +116,7 @@ export class NormalBattleHandler {
const BattleRecord = await BattleRecordModel.getBattleRecordByCode(battleCode, true);
if(!BattleRecord || BattleRecord.status != 0) {
return { code: 202, data: '关卡状态错误' }
return resResult(STATUS.BATTLE_STATUS_WRONG);
}
let flag = 1; // 对比hero信息
@@ -124,13 +125,13 @@ export class NormalBattleHandler {
if(dbHeroes.indexOf(hid) == -1) flag = 0;
}
if(!flag) {
return { code: 202, data: '关卡信息不同' }
return resResult(STATUS.BATTLE_INFO_VALIDATE_ERR);
}
const now = Date.now(); // 当前时间戳
let apJson = await setAp(now, roleId, -1 * warInfo.cost); // 扣除体力
if(!apJson) {
return { code: 202, data: '体力不足' }
return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
}
let channelService = this.app.get('channelService');
@@ -143,7 +144,7 @@ export class NormalBattleHandler {
if(warInfo.warType == WAR_TYPE.DAILY) {
let checkResult = await checkDailyAndIncrease(roleId, battleId, 1, false);
if(checkResult.status == -1) {
return {code: 202, data: checkResult.msg}
return checkResult.resResult;
}
dailyNum = { type: checkResult.type, count: checkResult.count, sum: checkResult.sum };
} else if (warInfo.warType == WAR_TYPE.EVENT) {
@@ -152,7 +153,7 @@ export class NormalBattleHandler {
} else if (warInfo.warType == WAR_TYPE.TOWER) {
let towerEndResult = await towerBattleEnd(channelService, sid, roleId, battleCode, battleId, isSuccess, heroes);
if(towerEndResult.status == -1) {
return {code: 202, data: towerEndResult.msg};
return towerEndResult.resResult;
}
towerRec = towerEndResult.data.newRec;
towerBonus = towerEndResult.data.bonusReward;
@@ -189,15 +190,12 @@ export class NormalBattleHandler {
// 返回值:
// towerStatus: false-本层未通过, true-本层已通过
// towerBonus: 天梯每隔几层的额外宝箱
return {
code: 200,
data: {
battleCode, battleId, status, towerStatus,
goods: reward, towerBonus, towerReward,
apJson,
dailyNum
}
}
return resResult(STATUS.SUCCESS, {
battleCode, battleId, status, towerStatus,
goods: reward, towerBonus, towerReward,
apJson,
dailyNum
});
}
async battleSweep(msg: {battleId: number, count: number }, session: BackendSession) {
@@ -207,12 +205,12 @@ export class NormalBattleHandler {
let roleName = session.get('roleName');
let warInfo = getWarById(battleId);
if(!warInfo) {
return { code: 202, data: "缺少关卡信息" }
return resResult(STATUS.BATTLE_MISS_INFO);
}
// 校验是否三星通关过
let condition1 = await BattleRecordModel.getBattleRecordByIdAndStar(roleId, battleId, 3);
if(!condition1) {
return { code: 202, data: "需要3星通过关卡才可以扫荡" }
return resResult(STATUS.BATTLE_SWEEP_CONDITION_STAR);
}
// 扣体力
@@ -222,7 +220,7 @@ export class NormalBattleHandler {
const now = Date.now(); // 当前时间戳
let apJson = await setAp(now, roleId, -1 * warInfo.cost * count); // 扣除体力
if(!apJson) {
return { code: 202, data: '体力不足' }
return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
}
// 扫荡次数
@@ -230,7 +228,7 @@ export class NormalBattleHandler {
if(warInfo.warType == WAR_TYPE.DAILY) {
let checkResult = await checkDailyAndIncrease(roleId, battleId, count, true);
if(checkResult.status == -1) {
return {code: 202, data: checkResult.msg}
return checkResult.resResult
}
dailyNum = { type: checkResult.type, count: checkResult.count, sum: checkResult.sum };
}
@@ -249,15 +247,12 @@ export class NormalBattleHandler {
$inc: { count }
});
return {
code: 200,
data: {
return resResult(STATUS.SUCCESS, {
battleId, count,
goods: result,
apJson,
dailyNum
}
}
});
}
}