后台:可以设置固定ip属地
This commit is contained in:
@@ -21,7 +21,7 @@ import { getExpByLv } from '../../../pubUtils/data';
|
||||
import { reportCreateRoleEventToTa, reportTAEvent, reportTAUserSet } from '../../../services/sdkService';
|
||||
import { saveLoginAndOutLog } from '../../../pubUtils/logUtil';
|
||||
import { sendMessageToAllWithSuc } from '../../../services/pushService';
|
||||
import { setIpLocation } from '../../../services/roleService';
|
||||
import { getIpLocation } from '../../../services/roleService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -59,18 +59,18 @@ export class EntryHandler {
|
||||
}
|
||||
}
|
||||
|
||||
let role = await RoleModel.findByUidAndSetTime(user.uid, serverId, null, true);
|
||||
let ip = this.getIp(session);
|
||||
let ipLocation = await getIpLocation(ip);
|
||||
let role = await RoleModel.findByUidAndSetTime(user.uid, serverId, ip, ipLocation, null, true);
|
||||
if (!role) {
|
||||
return resResult(STATUS.ROLE_NOT_FOUND);
|
||||
}
|
||||
|
||||
setIpLocation(role.roleId, this.getIp(session));
|
||||
|
||||
let serverName = this.app.getServerId();
|
||||
await roleLogin(role.roleId, user.userCode, serverName, role.createTime, role.serverId, role.lv, role.topLineupCe); // 保存在线用户
|
||||
await this.addSession(user, role, session);
|
||||
|
||||
await reportCreateRoleEventToTa(role, this.getIp(session));
|
||||
await reportCreateRoleEventToTa(role, ip);
|
||||
saveLoginAndOutLog(LOG_TYPE.LOGIN, session);
|
||||
addRoleToSysChannel(role.roleId, self.app.get('serverId'), role.serverId);
|
||||
addRoleToWorldChannel(role.roleId, self.app.get('serverId'), role.serverId);
|
||||
|
||||
@@ -37,13 +37,10 @@ export class GmRoleHandler {
|
||||
constructor(private app: Application) {
|
||||
}
|
||||
|
||||
async addItems(msg: { roleId: string, roleName: string, serverId: number, values: { reward: RewardInter[], heroes: number[], lv: number, expInc: number }}, session: BackendSession) {
|
||||
async addItems(msg: { roleId: string, roleName: string, serverId: number, values: { reward: RewardInter[], heroes: number[], lv: number, expInc: number, fixedIpLocation: string }}, session: BackendSession) {
|
||||
let { roleId, roleName, serverId, values } = msg;
|
||||
|
||||
let { reward, heroes, lv, expInc = 0 } = values;
|
||||
if (reward == undefined && heroes == undefined && lv == undefined) {
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
}
|
||||
let { reward, heroes, lv, expInc = 0, fixedIpLocation } = values;
|
||||
let connect = await getRoleOnlineInfo(roleId);
|
||||
let sid = connect.isOnline?connect.sid: null;
|
||||
|
||||
@@ -64,6 +61,9 @@ export class GmRoleHandler {
|
||||
isLvUp: false, lv: newLv, exp
|
||||
}, sid);
|
||||
}
|
||||
if(fixedIpLocation != undefined) {
|
||||
await RoleModel.updateRoleInfo(roleId, { fixedIpLocation })
|
||||
}
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user