弹出礼包:添加两种条件

This commit is contained in:
luying
2022-08-04 17:28:35 +08:00
parent 01b63099cf
commit 0d1eb9c7b6
8 changed files with 37 additions and 23 deletions
@@ -1,5 +1,5 @@
import { STATUS } from './../../../consts/statusCode';
import { HANG_UP_CONSTS, ITEM_CHANGE_REASON, MSG_SOURCE, REDIS_KEY } from './../../../consts';
import { HANG_UP_CONSTS, ITEM_CHANGE_REASON, MSG_SOURCE, POP_UP_SHOP_CONDITION_TYPE, REDIS_KEY } from './../../../consts';
import { TaskHero, TowerTaskRecModel, TowerTaskRecType } from './../../../db/TowerTaskRec';
import { HangUpSpdUpRecModel } from './../../../db/HangUpSpdUpRec';
import { HangUpRecordModel } from './../../../db/HangUpRecord';
@@ -20,6 +20,7 @@ import { RewardInter } from '../../../pubUtils/interface';
import { combineItems } from '../../../services/role/util';
import { checkTaskInSkipTower } from '../../../services/task/taskService';
import { Rank } from '../../../services/rankService';
import { checkPopUpCondition } from '../../../services/activity/popUpShopService';
export default function(app: Application) {
return new TowerBattleHandler(app);
@@ -297,12 +298,13 @@ export class TowerBattleHandler {
let sid = session.get('sid');
let role = await RoleModel.findByRoleId(roleId);
let dicTower = gameData.tower.get(role.towerLv);
let oldTowerLv = role.towerLv;
let dicTower = gameData.tower.get(oldTowerLv);
if(!dicTower.canSkip) {
return resResult(STATUS.TOWER_CANNOT_SKIP);
}
let { warStatus, heroes: recHeroes } = await getTowerRecByLv(roleId, role.towerLv);
let { warStatus, heroes: recHeroes } = await getTowerRecByLv(roleId, oldTowerLv);
// 检查战力是否足够
let heroes = await HeroModel.findByRole(roleId, [{ field: 'ce', sortBy: -1 }], 'hid ce job', true);
@@ -344,6 +346,7 @@ export class TowerBattleHandler {
let r = new Rank(REDIS_KEY.TOWER_RANK, { serverId });
await r.setRankWithRoleInfo(roleId, role.towerLv - 1, role.towerUpTime.getTime(), role);
await checkTaskInSkipTower(serverId, roleId, sid, role.towerLv);
await checkPopUpCondition(serverId, roleId, POP_UP_SHOP_CONDITION_TYPE.TOWER, { oldLv: oldTowerLv - 1, newLv: role.towerLv - 1 })
return resResult(STATUS.SUCCESS, { ...data, goods });
}