diff --git a/game-server/app/servers/battle/handler/towerBattleHandler.ts b/game-server/app/servers/battle/handler/towerBattleHandler.ts index 415d7f6b1..4483940c7 100644 --- a/game-server/app/servers/battle/handler/towerBattleHandler.ts +++ b/game-server/app/servers/battle/handler/towerBattleHandler.ts @@ -162,8 +162,7 @@ export class TowerBattleHandler { let roleId = session.get('roleId'); let roleName = session.get('roleName'); - let role = await RoleModel.findByRoleId(roleId); - let result = await getTasks(role); + let result = await getTasks(roleId); return resResult(STATUS.SUCCESS, result); } diff --git a/game-server/app/services/activity/guildPayService.ts b/game-server/app/services/activity/guildPayService.ts index 8fb6fdcf7..620942491 100644 --- a/game-server/app/services/activity/guildPayService.ts +++ b/game-server/app/services/activity/guildPayService.ts @@ -47,13 +47,14 @@ export async function addGuildPay(role: RoleType, price: number) { for(let activityData of activities) { let { activityId, type: activityType } = activityData; let obj = new GuildPayData(activityData, 0, openTime * 1000); - - let { isNew, result } = await ActivityGuildPayModel.addRecord(serverId, activityId, obj.roundIndex, guildCode, { - roleId, roleName, price - }); - if(isNew) { - let { memberRecord } = result; - pushResult.push({ activityId, activityType, param: { payMember: roleName, payMemberCnt: memberRecord.length } }); + if(obj && obj.canShow()) { + let { isNew, result } = await ActivityGuildPayModel.addRecord(serverId, activityId, obj.roundIndex, guildCode, { + roleId, roleName, price + }); + if(isNew) { + let { memberRecord } = result; + pushResult.push({ activityId, activityType, param: { payMember: roleName, payMemberCnt: memberRecord.length } }); + } } } await pushActivitiesToGuild(pushResult, guildCode); diff --git a/game-server/app/services/battleService.ts b/game-server/app/services/battleService.ts index ae2e7f0e1..79d45daa9 100644 --- a/game-server/app/services/battleService.ts +++ b/game-server/app/services/battleService.ts @@ -107,8 +107,9 @@ export async function getHungupRewards(roleId: string, role?: RoleType) { * 获取派遣任务列表 * @param role */ -export async function getTasks(role: RoleType) { - let { roleId, roleName, towerLv, towerTaskRefTime, towerTaskReCnt = 0 } = role; +export async function getTasks(roleId: string) { + let role = await RoleModel.findByRoleId(roleId, 'roleName towerLv towerTaskRefTime towerTaskReCnt'); + let { roleName, towerLv, towerTaskRefTime, towerTaskReCnt = 0 } = role; // towerLv:从1开始,下次打得层数,dicParam内的:从0开始,打过的层数 if(towerLv - 1 < dicParam.TOWER_SEARCH.TOWER_SEARCH_STARTLIMITED) { @@ -116,11 +117,10 @@ export async function getTasks(role: RoleType) { } let curTime = new Date(); - let curTasks = await TowerTaskRecModel.getCurTasks(roleId); // 当前显示中的任务 - const needRefresh = shouldRefresh(towerTaskRefTime, curTime); - + let curTasks: TowerTaskRecType[] = [] if(needRefresh) { + role = await RoleModel.resetTowerCnt(roleId, curTime); const batchCode = genCode(8); let preTasks = await TowerTaskRecModel.getPreTasks(roleId); if(preTasks && preTasks.length) { @@ -133,9 +133,11 @@ export async function getTasks(role: RoleType) { curTasks = await refreshTasks(towerLv, batchCode, roleId, roleName, []); // 新建任务 // 重置派遣次数 - role = await RoleModel.resetTowerCnt(roleId, curTime); towerTaskReCnt = role.towerTaskReCnt; } + if(curTasks.length <=0 ) { + curTasks = await TowerTaskRecModel.getCurTasks(roleId); // 当前显示中的任务 + } let refRemainTime = getRemainTime(curTime); let nextCostGold = getTowerTaskCostGold(role.towerTaskReCnt, role.towerTaskRefTime); diff --git a/game-server/app/services/connectorService.ts b/game-server/app/services/connectorService.ts index 0f560d068..84e7f3732 100644 --- a/game-server/app/services/connectorService.ts +++ b/game-server/app/services/connectorService.ts @@ -243,11 +243,10 @@ async function getTowerEntryData(role: RoleType) { const { roleId } = role; const status = await getTowerStatus(role); const hungUp = await getHungupRewards(roleId); - const tasks = await getTasks(role); if (!hungUp) { - return { status, hungUp: {}, tasks } + return { status, hungUp: {} } } else { - return { status, hungUp: hungUp, tasks } + return { status, hungUp: hungUp } } }