feat(upserver): 保存M2客户端KV迁移至本人统计写检查点
保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。 保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。 验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。 包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
This commit is contained in:
@@ -20,7 +20,7 @@ namespace TimeManager
|
||||
|
||||
_sessionStartTime = ZZTimeHelper.UtcNow().UtcNowOffset();
|
||||
_lastCheckedHour = _sessionStartTime.Hour;
|
||||
CheckLastLogin();
|
||||
InitialRefreshSucceeded = CheckLastLogin();
|
||||
_tickService.MinuteTick
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
@@ -32,6 +32,7 @@ namespace TimeManager
|
||||
|
||||
private readonly ITimeTickService _tickService;
|
||||
private readonly IUserService _userService;
|
||||
public bool InitialRefreshSucceeded { get; }
|
||||
|
||||
private int _lastCheckedDayOfYear = -1;
|
||||
private int _lastCheckedHour = -1;
|
||||
@@ -40,11 +41,11 @@ namespace TimeManager
|
||||
|
||||
#region Check登录时间
|
||||
|
||||
private void CheckLastLogin()
|
||||
private bool CheckLastLogin()
|
||||
{
|
||||
if (IsLastLoginToday()) return;
|
||||
if (IsLastLoginToday()) return true;
|
||||
Debug.Log("上次登录不是今天");
|
||||
OnCrossDayRefresh();
|
||||
return OnCrossDayRefresh();
|
||||
}
|
||||
private void CheckSessionCrossDay()
|
||||
{
|
||||
@@ -105,7 +106,8 @@ namespace TimeManager
|
||||
/// </summary>
|
||||
public DateTime? GetLastLoginTime()
|
||||
{
|
||||
return _userService?.LastLoginTime;
|
||||
var value = _userService?.LastLoginTime;
|
||||
return value == DateTime.MinValue ? null : value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -121,16 +123,18 @@ namespace TimeManager
|
||||
/// <summary>
|
||||
/// 跨天刷新逻辑
|
||||
/// </summary>
|
||||
private void OnCrossDayRefresh()
|
||||
private bool OnCrossDayRefresh()
|
||||
{
|
||||
try
|
||||
{
|
||||
// 1. 发送活动跨天刷新事件
|
||||
GContext.Publish(new ActivityCrossDayRefreshEvent());
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.LogError($"[TimeRefreshManager] Error during cross day refresh: {e.Message}\n{e.StackTrace}");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user