弹出礼包:添加两种条件
This commit is contained in:
@@ -1,17 +1,13 @@
|
||||
import { Application, BackendSession, HandlerService, } from 'pinus';
|
||||
import { resResult, splitString } from '../../../pubUtils/util';
|
||||
import { ACTIVITY_RESOURCES_TYPE, CURRENCY_BY_TYPE, STATUS, CURRENCY_TYPE, ITEM_CHANGE_REASON, POP_UP_SHOP_CONDITION_TYPE, ACTIVITY_TYPE, DEBUG_MAGIC_WORD, PUSH_ROUTE, } from '../../../consts';
|
||||
import { resResult, } from '../../../pubUtils/util';
|
||||
import { STATUS, ITEM_CHANGE_REASON, POP_UP_SHOP_CONDITION_TYPE, ACTIVITY_TYPE, DEBUG_MAGIC_WORD, PUSH_ROUTE, } from '../../../consts';
|
||||
import { checkPopUpCondition, getPopUpShopData, getPopUpShopDataShow } from '../../../services/activity/popUpShopService';
|
||||
import { ActivityModel, ActivityModelType } from '../../../db/Activity';
|
||||
import { ActivityPopUpShopModel, ActivityPopUpShopModelType } from '../../../db/ActivityPopUpShop';
|
||||
import { PopUpShopData } from '../../../domain/activityField/popUpShopField';
|
||||
import { ActivityPopUpShopModel } from '../../../db/ActivityPopUpShop';
|
||||
import { addReward, stringToConsumeParam, stringToRewardParam } from '../../../services/activity/giftPackageService';
|
||||
import { RewardParam } from '../../../domain/activityField/rewardField';
|
||||
import { handleCost } from '../../../services/role/rewardService';
|
||||
import moment = require('moment');
|
||||
import { getActivitiesByType, getActivityById, pushActivities } from '../../../services/activity/activityService';
|
||||
import { setInterval } from 'timers';
|
||||
import { sendMessageToUser, sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
import { sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
|
||||
@@ -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 });
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import { findIndex, pick } from 'underscore';
|
||||
import { SclResultInter, SclPosInter } from '../../../pubUtils/interface';
|
||||
import { SchoolModel } from '../../../db/School';
|
||||
import { getTeraphStrengthenResult, getSchoolList } from '../../../services/roleService'
|
||||
import { HERO_SYSTEM_TYPE, LINEUP_NUM, ROLE_SELECT, REDIS_KEY, TASK_TYPE, DEFAULT_HEROES, DEFAULT_HERO_LV, DEFAULT_ITEMS, DEFAULT_EQUIPS, DEFAULT_GOLD, DEFAULT_COIN, DEBUG_MAGIC_WORD, COUNTER, DEFAULT_LV, ITEM_CHANGE_REASON, PUSH_ROUTE } from '../../../consts';
|
||||
import { HERO_SYSTEM_TYPE, LINEUP_NUM, ROLE_SELECT, REDIS_KEY, TASK_TYPE, DEFAULT_HEROES, DEFAULT_HERO_LV, DEFAULT_ITEMS, DEFAULT_EQUIPS, DEFAULT_GOLD, DEFAULT_COIN, DEBUG_MAGIC_WORD, COUNTER, DEFAULT_LV, ITEM_CHANGE_REASON, PUSH_ROUTE, POP_UP_SHOP_CONDITION_TYPE } from '../../../consts';
|
||||
import { checkBattleHeroesByHid, roleLevelup } from '../../../services/normalBattleService';
|
||||
import { Rank } from '../../../services/rankService';
|
||||
import { updateUserInfo } from '../../../services/redisService';
|
||||
@@ -28,6 +28,7 @@ import { createHeroes } from '../../../services/role/createHero';
|
||||
import { calculateCeWithHero, calculateCeWithRole } from '../../../services/playerCeService';
|
||||
import { sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
import { GuildLeader } from '../../../domain/rank';
|
||||
import { checkPopUpCondition } from '../../../services/activity/popUpShopService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -100,7 +101,8 @@ export class RoleHandler {
|
||||
let { curRole } = await calculateCeWithRole(HERO_SYSTEM_TYPE.TITLE, roleId, serverId, sid, update);
|
||||
|
||||
// 任务
|
||||
await checkTask(serverId, roleId, sid, TASK_TYPE.ROLE_TITLE, { oldTitle: title, title: update.title });
|
||||
await checkTask(serverId, roleId, sid, TASK_TYPE.ROLE_TITLE, { oldTitle: title, title: update.title }); // 弹出礼包
|
||||
await checkPopUpCondition(serverId, roleId, POP_UP_SHOP_CONDITION_TYPE.TITLE, { oldLv: title, newLv: update.title });
|
||||
return resResult(STATUS.SUCCESS, { roleId, title: curRole.title });
|
||||
}
|
||||
|
||||
|
||||
@@ -72,9 +72,9 @@ export async function checkPopUpConditionWhenGuildActivityEnd() {
|
||||
let i = -1;
|
||||
let interval = setInterval(async () => {
|
||||
if (++i < n) {
|
||||
console.log('****', i)
|
||||
// console.log('****', i)
|
||||
let users = allOnlineUsers.slice(i * PUSH_BATCH, (i + 1) * PUSH_BATCH - 1);
|
||||
console.log('****', users)
|
||||
// console.log('****', users)
|
||||
for(let { serverId, roleId, sid } of users) {
|
||||
await checkPopUpCondition(serverId, roleId, POP_UP_SHOP_CONDITION_TYPE.AUCTION, {}, sid);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { HeroModel, HeroType } from './../db/Hero';
|
||||
import { HangUpRecordModel } from './../db/HangUpRecord';
|
||||
import { HANG_UP_CONSTS, REDIS_KEY, TASK_TYPE, TOWER_FORBIDDEN_CHARA_TYPE, TOWER_TASK_STATUS, MAIL_TYPE, MSG_SOURCE } from './../consts';
|
||||
import { HANG_UP_CONSTS, REDIS_KEY, TASK_TYPE, TOWER_FORBIDDEN_CHARA_TYPE, TOWER_TASK_STATUS, MAIL_TYPE, MSG_SOURCE, POP_UP_SHOP_CONDITION_TYPE } from './../consts';
|
||||
import { BattleRecordModel } from './../db/BattleRecord';
|
||||
import { TowerRecordModel } from './../db/TowerRecord';
|
||||
import { RoleModel, RoleType } from './../db/Role';
|
||||
@@ -19,6 +19,7 @@ import { DicTowerTask } from '../pubUtils/dictionary/DicTowerTask';
|
||||
import * as dicParam from '../pubUtils/dicParam';
|
||||
import { getVipHungupReward } from './activity/monthlyTicketService';
|
||||
import { pushTowerMsg } from './sysChatService';
|
||||
import { checkPopUpCondition } from './activity/popUpShopService';
|
||||
|
||||
/**
|
||||
* 获取当前镇念塔状态
|
||||
@@ -240,6 +241,8 @@ export async function towerBattleEnd(sid: string, roleId: string, serverId: numb
|
||||
await checkAndStartHungUp(roleId, roleName, role.towerLv);
|
||||
// 任务
|
||||
await checkTask(serverId, roleId, sid, TASK_TYPE.BATTLE_TOWER_LV, { towerLv: role.towerLv - 1 });
|
||||
await checkPopUpCondition(serverId, roleId, POP_UP_SHOP_CONDITION_TYPE.TOWER, { oldLv: towerLv - 1, newLv: role.towerLv - 1 })
|
||||
|
||||
pushTowerMsg(roleId, roleName, serverId, MSG_SOURCE.TOWER_SUC, role.towerLv - 1);
|
||||
}
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user