战场:悔棋
This commit is contained in:
@@ -25,6 +25,8 @@ import { getSelfServiceShopActivityData } from '../../../services/activity/selfS
|
||||
import { challengeDailyGK } from '../../../services/activity/dailyGKService';
|
||||
import { challengeNewHeroGK } from '../../../services/activity/newHeroGKService';
|
||||
import { reportTAEvent } from '../../../services/sdkService';
|
||||
import { getVipRegretCnt } from '../../../services/activity/monthlyTicketService';
|
||||
import { isNumber } from 'underscore';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -381,4 +383,43 @@ export class NormalBattleHandler {
|
||||
}
|
||||
return resResult(STATUS.SUCCESS, { list });
|
||||
}
|
||||
|
||||
// 获取悔棋次数
|
||||
async getRegretCnt(msg: { warId: number, battleCode: string }, session: BackendSession) {
|
||||
|
||||
const { warId, battleCode } = msg;
|
||||
let roleId: string = session.get('roleId');
|
||||
let vipStartTime: number = session.get('vipStartTime');
|
||||
|
||||
let battleRecord = await BattleRecordModel.getBattleRecordByCode(battleCode);
|
||||
if(!battleRecord || battleRecord.roleId != roleId || battleRecord.battleId != warId) {
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
}
|
||||
let maxRegretCnt = getVipRegretCnt(vipStartTime);
|
||||
return resResult(STATUS.SUCCESS, { regretCnt: battleRecord.regretCnt||0, maxRegretCnt });
|
||||
}
|
||||
|
||||
// 记录悔棋次数
|
||||
async incRegretCnt(msg: { warId: number, battleCode: string, count: number }, session: BackendSession) {
|
||||
|
||||
const { warId, battleCode, count } = msg;
|
||||
let roleId: string = session.get('roleId');
|
||||
let vipStartTime: number = session.get('vipStartTime');
|
||||
if(!isNumber(count) || count <= 0) {
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
}
|
||||
|
||||
let battleRecord = await BattleRecordModel.getBattleRecordByCode(battleCode);
|
||||
if(!battleRecord || battleRecord.roleId != roleId || battleRecord.battleId != warId) {
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
}
|
||||
let maxRegretCnt = getVipRegretCnt(vipStartTime);
|
||||
let regretCnt = battleRecord.regretCnt||0;
|
||||
if(regretCnt + count > maxRegretCnt) {
|
||||
return resResult(STATUS.BATTLE_REGRET_MAX);
|
||||
}
|
||||
battleRecord = await BattleRecordModel.incRegretCnt(battleCode, count);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { regretCnt: battleRecord.regretCnt||0, maxRegretCnt });
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user