月卡:修改玩家session

This commit is contained in:
luying
2022-03-09 20:14:02 +08:00
parent 0e10e3e6d3
commit d937679a5d
4 changed files with 12 additions and 22 deletions
@@ -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 { try {
let sessionService = this.app.get('sessionService'); 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); let sessions = sessionService.getByUid(roleId);
if(!!sessions) { if(!!sessions) {
sessions.forEach(session => { sessions.forEach(session => {
sessionService.aimportAll(session.id, { roleName }); if(roleName) sessionService.aimportAll(session.id, { roleName });
}); if(blockType) sessionService.aimportAll(session.id, { blockType });
} if(vipStartTime) sessionService.aimportAll(session.id, { vipStartTime });
}
} 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 });
}); });
} }
} }
@@ -70,7 +70,7 @@ export class GmRoleHandler {
if(!role) return resResult(STATUS.ROLE_NOT_FOUND); if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
let { isOnline, sid } = await getRoleOnlineInfo(roleId); let { isOnline, sid } = await getRoleOnlineInfo(roleId);
if(isOnline) { 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) { // 踢走 if(blockType == BLOCK_TYPE.BLOCK) { // 踢走
await this.app.rpc.connector.connectorRemote.remoteLogin.toServer(sid, roleId, STATUS.BLOCKED); await this.app.rpc.connector.connectorRemote.remoteLogin.toServer(sid, roleId, STATUS.BLOCKED);
} }
@@ -13,6 +13,7 @@ import { RewardInter } from '../../pubUtils/interface';
import { getGoldId } from '../../pubUtils/itemUtils'; import { getGoldId } from '../../pubUtils/itemUtils';
import { DUNGEON_CONST, PVP, VIP } from '../../pubUtils/dicParam'; import { DUNGEON_CONST, PVP, VIP } from '../../pubUtils/dicParam';
import { cal } from '../../pubUtils/util'; 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; 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) console.log('endTime', moment(new Date()).startOf('d'), endTime, playerData.days)
await ActivityMonthlyTicketModel.buyMonthlyTicket(serverId, roleId, activityId, activityData.type, endTime, playerData.isForever) 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 firstReward = playerData.firstReward;
let rewardParamArr: Array<RewardParam> = stringToRewardParam(firstReward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(firstReward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.MONTHLY_TICKET_FIRST) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.MONTHLY_TICKET_FIRST)
+1 -1
View File
@@ -111,7 +111,7 @@ export async function treatRoleName(roleId: string, isDebug?: boolean) {
await updateUserInfo(REDIS_KEY.USER_INFO, roleId, [{ field: 'roleName', value: newName }]); // redis缓存 await updateUserInfo(REDIS_KEY.USER_INFO, roleId, [{ field: 'roleName', value: newName }]); // redis缓存
const { sid } = await getRoleOnlineInfo(roleId); const { sid } = await getRoleOnlineInfo(roleId);
if(!!sid) { 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, { pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, {
roleName: newName roleName: newName
}), [{uid: roleId, sid}]); }), [{uid: roleId, sid}]);