86 lines
3.5 KiB
C#
86 lines
3.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
using ServerCore; using ServerBase;
|
|
using ServerCommon;
|
|
using ServerCommon.BusinessLogDomain;
|
|
|
|
|
|
using GameServer;
|
|
|
|
|
|
namespace GameServer
|
|
{
|
|
public static class UserBusinessLogHelper
|
|
{
|
|
public static UserLogInfo toUserLogInfo(this Player loginPlayer)
|
|
{
|
|
var log_info = new UserLogInfo();
|
|
log_info.setLogInfo(loginPlayer);
|
|
|
|
return log_info;
|
|
}
|
|
|
|
//=====================================================================================
|
|
// 비즈니스 로그 주요 함수
|
|
//=====================================================================================
|
|
|
|
public static void setLogInfo(this UserLogInfo log, Player player)
|
|
{
|
|
var net_server = GameServerApp.getServerLogic().getProudNetListener().getNetServer();
|
|
|
|
var game_login_action = player.getEntityAction<GameLoginAction>();
|
|
NullReferenceCheckHelper.throwIfNull(game_login_action, () => $"game_login_action is null !!! - {player.toBasicString()}");
|
|
|
|
var account_attribute = player.getEntityAttribute<AccountAttribute>();
|
|
NullReferenceCheckHelper.throwIfNull(account_attribute, () => $"account_attribute is null !!! - {player.toBasicString()}");
|
|
var user_attribute = player.getEntityAttribute<UserAttribute>();
|
|
NullReferenceCheckHelper.throwIfNull(user_attribute, () => $"user_attribute is null !!! - {player.toBasicString()}");
|
|
|
|
var nickname_attribute = player.getEntityAttribute<NicknameAttribute>();
|
|
NullReferenceCheckHelper.throwIfNull(nickname_attribute, () => $"nickname_attribute is null !!! - {player.toBasicString()}");
|
|
|
|
var level_attribute = player.getEntityAttribute<LevelAttribute>();
|
|
NullReferenceCheckHelper.throwIfNull(level_attribute, () => $"level_attribute is null !!! - {player.toBasicString()}");
|
|
var money_attribute = player.getEntityAttribute<MoneyAttribute>();
|
|
NullReferenceCheckHelper.throwIfNull(money_attribute, () => $"money_attribute is null !!! - {player.toBasicString()}");
|
|
|
|
var user_pk = string.Empty;
|
|
var user_sk = string.Empty;
|
|
|
|
(var result, var user_base_doc) = user_attribute.toDocBase(false).GetAwaiter().GetResult();
|
|
if (result.isFail())
|
|
{
|
|
var err_msg = $"Failed to toDocBase() !!!, in UserBusinessLogHelper.setLogInfo() : {result.toBasicString()} - {user_attribute.toBasicString()}";
|
|
Log.getLogger().error(err_msg);
|
|
}
|
|
else
|
|
{
|
|
NullReferenceCheckHelper.throwIfNull(user_base_doc, () => $"user_base_doc is null !!! - {player.toBasicString()}");
|
|
|
|
user_pk = user_base_doc.getPK();
|
|
user_sk = user_base_doc.getSK();
|
|
}
|
|
|
|
log.setLogProperty(
|
|
player.getUserGuid()
|
|
, user_pk
|
|
, user_sk
|
|
, account_attribute.LanguageType
|
|
, nickname_attribute.Nickname
|
|
, level_attribute.Level
|
|
, money_attribute.Gold
|
|
, money_attribute.Sapphire
|
|
, money_attribute.Calium
|
|
, 0 //Chat Ai 서버에 Beam 조회 Api 를 호출하여 Beam 값을 얻어온다. - kangms
|
|
, money_attribute.Ruby
|
|
, user_attribute.SelectedCharacterGuid
|
|
);
|
|
}
|
|
}
|
|
}
|