月卡:修改玩家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 {
|
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)
|
||||||
|
|||||||
@@ -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}]);
|
||||||
|
|||||||
Reference in New Issue
Block a user