diff --git a/game-server/app/servers/connector/remote/connectorRemote.ts b/game-server/app/servers/connector/remote/connectorRemote.ts index 94bfb2b87..24202618c 100644 --- a/game-server/app/servers/connector/remote/connectorRemote.ts +++ b/game-server/app/servers/connector/remote/connectorRemote.ts @@ -49,30 +49,16 @@ export class ConnectorRemote { } } - public async setOtherUserRoleNameSession(params: { roleId: string, roleName: string}[]) { + public async setOtherUserSession(params: { roleId: string, roleName?: string, blockType?: number, vipStartTime?: number}[]) { try { let sessionService = this.app.get('sessionService'); - for(let {roleId, roleName} of params) { + for(let {roleId, roleName, blockType, vipStartTime} of params) { let sessions = sessionService.getByUid(roleId); if(!!sessions) { sessions.forEach(session => { - sessionService.aimportAll(session.id, { roleName }); - }); - } - } - } catch(e) { - errlogger.error(`remote ${__filename} \n ${e.stack}`); - } - } - - public async setOtherUseBlockTypeSession(params: { roleId: string, blockType: string}[]) { - try { - let sessionService = this.app.get('sessionService'); - for(let {roleId, blockType} of params) { - let sessions = sessionService.getByUid(roleId); - if(!!sessions) { - sessions.forEach(session => { - sessionService.aimportAll(session.id, { blockType }); + if(roleName) sessionService.aimportAll(session.id, { roleName }); + if(blockType) sessionService.aimportAll(session.id, { blockType }); + if(vipStartTime) sessionService.aimportAll(session.id, { vipStartTime }); }); } } diff --git a/game-server/app/servers/gm/handler/gmRoleHandler.ts b/game-server/app/servers/gm/handler/gmRoleHandler.ts index 7cb428972..9c844411c 100644 --- a/game-server/app/servers/gm/handler/gmRoleHandler.ts +++ b/game-server/app/servers/gm/handler/gmRoleHandler.ts @@ -70,7 +70,7 @@ export class GmRoleHandler { if(!role) return resResult(STATUS.ROLE_NOT_FOUND); let { isOnline, sid } = await getRoleOnlineInfo(roleId); if(isOnline) { - await this.app.rpc.connector.connectorRemote.setOtherUseBlockTypeSession.toServer(sid,[{ roleId, blockType }]); + await this.app.rpc.connector.connectorRemote.setOtherUserSession.toServer(sid,[{ roleId, blockType }]); if(blockType == BLOCK_TYPE.BLOCK) { // 踢走 await this.app.rpc.connector.connectorRemote.remoteLogin.toServer(sid, roleId, STATUS.BLOCKED); } diff --git a/game-server/app/services/activity/monthlyTicketService.ts b/game-server/app/services/activity/monthlyTicketService.ts index 953c9b5a3..753c4b196 100644 --- a/game-server/app/services/activity/monthlyTicketService.ts +++ b/game-server/app/services/activity/monthlyTicketService.ts @@ -13,6 +13,7 @@ import { RewardInter } from '../../pubUtils/interface'; import { getGoldId } from '../../pubUtils/itemUtils'; import { DUNGEON_CONST, PVP, VIP } from '../../pubUtils/dicParam'; import { cal } from '../../pubUtils/util'; +import { pinus } from 'pinus'; /** * 获取活动数据 @@ -122,7 +123,10 @@ export async function makeMonthlyTicketReward(roleId: string, roleName: string, let endTime = playerData.isForever? moment(new Date()).startOf('d').add(playerData.days, 'day').toDate(): null; console.log('endTime', moment(new Date()).startOf('d'), endTime, playerData.days) await ActivityMonthlyTicketModel.buyMonthlyTicket(serverId, roleId, activityId, activityData.type, endTime, playerData.isForever) - await RoleModel.buyForeverTicket(roleId); + if(activityData.type == ACTIVITY_TYPE.MONTHLY_TICKET_2) { + let role = await RoleModel.buyForeverTicket(roleId); + await pinus.app.rpc.connector.connectorRemote.setOtherUserSession.toServer(sid,[{ roleId, vipStartTime: role.vipStartTime }]); + } let firstReward = playerData.firstReward; let rewardParamArr: Array = stringToRewardParam(firstReward); let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.MONTHLY_TICKET_FIRST) diff --git a/game-server/app/services/sdkService.ts b/game-server/app/services/sdkService.ts index b192d0d6a..dcd617c30 100644 --- a/game-server/app/services/sdkService.ts +++ b/game-server/app/services/sdkService.ts @@ -111,7 +111,7 @@ export async function treatRoleName(roleId: string, isDebug?: boolean) { await updateUserInfo(REDIS_KEY.USER_INFO, roleId, [{ field: 'roleName', value: newName }]); // redis缓存 const { sid } = await getRoleOnlineInfo(roleId); if(!!sid) { - await pinus.app.rpc.connector.connectorRemote.setOtherUserRoleNameSession.toServer(sid,[{ roleId, roleName: newName }]); // 改session + await pinus.app.rpc.connector.connectorRemote.setOtherUserSession.toServer(sid,[{ roleId, roleName: newName }]); // 改session pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, { roleName: newName }), [{uid: roleId, sid}]);