数数:修改创建角色逻辑

This commit is contained in:
luying
2022-05-19 11:56:40 +08:00
parent 77e6c3ba8e
commit afecae3303
10 changed files with 67 additions and 48 deletions
@@ -18,7 +18,7 @@ import { pushData, everydayRefresh, kickUser, getModuleData } from '../../../ser
// import { setComBtlOnUserLeave } from '../../../services/comBattleService';
import Counter from '../../../db/Counter';
import { getExpByLv } from '../../../pubUtils/data';
import { reportTAUserSet } from '../../../services/sdkService';
import { reportCreateRoleEventToTa, reportTAEvent, reportTAUserSet } from '../../../services/sdkService';
import { saveLoginAndOutLog } from '../../../pubUtils/logUtil';
import { sendMessageToAllWithSuc } from '../../../services/pushService';
@@ -65,8 +65,9 @@ export class EntryHandler {
let serverName = this.app.getServerId();
await roleLogin(role.roleId, user.userCode, serverName, user.pkgName, role.createTime, role.serverId); // 保存在线用户
await this.addSession(user, role, session);
saveLoginAndOutLog(LOG_TYPE.LOGIN, session);
await reportCreateRoleEventToTa(role, this.getIp(session));
saveLoginAndOutLog(LOG_TYPE.LOGIN, session);
addRoleToSysChannel(role.roleId, self.app.get('serverId'), role.serverId);
addRoleToWorldChannel(role.roleId, self.app.get('serverId'), role.serverId);
reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), true, user);
@@ -95,9 +96,13 @@ export class EntryHandler {
return resResult(STATUS.SUCCESS, { todayZeroPoint });
}
private getIp(session: FrontendSession) {
return session.remoteAddress.ip.replace('::ffff:', '');
}
async addSession(user: UserType, role: RoleType, session: FrontendSession) {
const self = this;
let ip = session.remoteAddress.ip.replace('::ffff:', '');
let ip = this.getIp(session);
await session.abind(role.roleId);
session.set('userid', role.userInfo.uid);
@@ -320,7 +325,7 @@ export class EntryHandler {
const code = genCode(6);
const seqId = await Counter.getNewCounter(COUNTER.ROLE) || -1;
await RoleModel.createRole(user.uid, serverId, { roleId, code, roleName: roleId, seqId, lv: DEFAULT_LV, exp: (getExpByLv(DEFAULT_LV - 1) || { sum: 0 }).sum || 0 });
await RoleModel.createRole(user.uid, serverId, { roleId, code, roleName: roleId, seqId, lv: DEFAULT_LV, exp: (getExpByLv(DEFAULT_LV - 1) || { sum: 0 }).sum || 0 }, '');
}
console.log('debugQueryTokenByTel got user:', token);
return resResult(STATUS.SUCCESS, { user: token });
@@ -541,7 +541,7 @@ export class RoleHandler {
let newRoleId = genCode(10);
const seqId = await Counter.getNewCounter(COUNTER.ROLE) || -1;
await RoleModel.findOneAndUpdate({ roleId }, { $set: { 'userInfo.uid': 0, roleName: 'deletedRole' } });
role = await RoleModel.createRole(userInfo.uid, role.serverId, { roleId: newRoleId, code: role.code, roleName: newRoleId, seqId, lv: DEFAULT_LV, exp: (getExpByLv(DEFAULT_LV - 1) || { sum: 0 }).sum || 0 });
role = await RoleModel.createRole(userInfo.uid, role.serverId, { roleId: newRoleId, code: role.code, roleName: newRoleId, seqId, lv: DEFAULT_LV, exp: (getExpByLv(DEFAULT_LV - 1) || { sum: 0 }).sum || 0 }, '');
session.set('roleId', newRoleId);
session.push('roleId', () => {});
@@ -55,7 +55,7 @@ function getApWithDataAp(roleId: string, ip: string, lv: number, dataAp: ActionP
}
}
if(result.ap > oldAp) {
reportTAEvent(roleId, TA_EVENT.AP_GET, { change_count: oldAp - result.ap, change_after: result.ap, change_reason: ITEM_CHANGE_REASON.AP_RECOVERY })
reportTAEvent(roleId, TA_EVENT.AP_GET, { change_count: result.ap - oldAp, change_after: result.ap, change_reason: ITEM_CHANGE_REASON.AP_RECOVERY })
}
return fromGetAp?result: pick(result, ['ap', 'maxAp', 'apRemainTime', 'apMaxRemainTime', 'buyTimes', 'apBefore']);
+28 -17
View File
@@ -4,7 +4,7 @@ import { RoleModel, RoleType } from "../db/Role";
import { Chat37Params, CheckGuild37Params, CheckName37Params, GetWordParam } from "../domain/sdk";
import { sendMailByContent, sendMailToGuildByContent } from './mailService';
import { NAMEPLATE } from '../pubUtils/dicParam';
import { CHANNEL_PREFIX, FILENAME, getSdkChannelId, MAIL_TYPE, PUSH_ROUTE, REDIS_KEY, SDK_37_ADDR, SDK_37_CONST, SDK_TA_CONST, STATUS, TA_USERSET_TYPE, THINKING_DATA_MODE, THINKING_DATA_MODE_LIST } from "../consts";
import { CHANNEL_PREFIX, FILENAME, getSdkChannelId, MAIL_TYPE, PUSH_ROUTE, REDIS_KEY, SDK_37_ADDR, SDK_37_CONST, SDK_TA_CONST, STATUS, TA_EVENT, TA_USERSET_TYPE, THINKING_DATA_MODE, THINKING_DATA_MODE_LIST } from "../consts";
import { UserModel } from "../db/User";
import { request37CheckChat, request37GetWord, request37Post } from "../pubUtils/httpUtil";
import { GuildModel } from "../db/Guild";
@@ -165,27 +165,29 @@ export async function treatGuildName(content: string) {
export function connectThinkingData(app: Application) {
let ta;
if(THINKING_DATA_MODE == THINKING_DATA_MODE_LIST.DEBUG) {
ta = ThinkingAnalytics.initWithDebugMode(SDK_TA_CONST.APPID, SDK_TA_CONST.SERVER_URL);
} else if (THINKING_DATA_MODE == THINKING_DATA_MODE_LIST.BATCH) {
ta = ThinkingAnalytics.initWithBatchMode(SDK_TA_CONST.APPID, SDK_TA_CONST.SERVER_URL);
} else if (THINKING_DATA_MODE == THINKING_DATA_MODE_LIST.LOGGING) {
ta = ThinkingAnalytics.initWithLoggingMode(SDK_TA_CONST.LOG_PATH, {
pm2: true
});
if(app.get('env') != 'development') {
if(THINKING_DATA_MODE == THINKING_DATA_MODE_LIST.DEBUG) {
ta = ThinkingAnalytics.initWithDebugMode(SDK_TA_CONST.APPID, SDK_TA_CONST.SERVER_URL);
} else if (THINKING_DATA_MODE == THINKING_DATA_MODE_LIST.BATCH) {
ta = ThinkingAnalytics.initWithBatchMode(SDK_TA_CONST.APPID, SDK_TA_CONST.SERVER_URL);
} else if (THINKING_DATA_MODE == THINKING_DATA_MODE_LIST.LOGGING) {
ta = ThinkingAnalytics.initWithLoggingMode(SDK_TA_CONST.LOG_PATH, {
pm2: true
});
}
ta.setDynamicSuperProperties(() => {
return {
env: app.get('env'),
sid: app.getServerId()
};
});
app.set('ta', ta);
}
// ta.setDynamicSuperProperties(() => {
// return {
// env: app.get('env'),
// server: app.getServerId(),
// mode: THINKING_DATA_MODE
// };
// });
app.set('ta', ta);
}
export function reportTAEvent(roleId: string, eventName: string, properties: any, ip?: string) {
let ta = pinus.app.get('ta');
if(!ta) return
let event = {
// 账号 ID (可选)
accountId: `${roleId}`,
@@ -209,6 +211,7 @@ export function reportTAEvent(roleId: string, eventName: string, properties: any
export function reportTAUserSet(type: TA_USERSET_TYPE, roleId: string, properties: any) {
let ta = pinus.app.get('ta');
if(!ta) return
let userData = {
// 账号 ID (可选)
accountId: `${roleId}`,
@@ -232,8 +235,16 @@ export function reportTAUserSet(type: TA_USERSET_TYPE, roleId: string, propertie
}
}
export async function reportCreateRoleEventToTa(role: RoleType, ip: string) {
if(role.shushuMark) {
reportTAEvent(role.roleId, TA_EVENT.CREATE_ROLE, null, ip);
await RoleModel.updateRoleInfo(role.roleId, { shushuMark: '' });
}
}
export function taflush() {
let ta = pinus.app.get('ta');
if(!ta) return;
ta.flush();
ta.close();
}