月卡:修改玩家session
This commit is contained in:
@@ -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 });
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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<RewardParam> = stringToRewardParam(firstReward);
|
||||
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr, ITEM_CHANGE_REASON.MONTHLY_TICKET_FIRST)
|
||||
|
||||
@@ -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}]);
|
||||
|
||||
Reference in New Issue
Block a user