xf 2 жил өмнө
parent
commit
bffa8ee225

+ 7 - 2
src/CallCenter.Api/Realtimes/CallCenterHub.cs

@@ -12,11 +12,16 @@ public class CallCenterHub : Hub
 {
 {
     private readonly ISessionContext _sessionContext;
     private readonly ISessionContext _sessionContext;
     private readonly IWorkRepository _workRepository;
     private readonly IWorkRepository _workRepository;
+    private readonly IUserCacheManager _userCacheManager;
 
 
-    public CallCenterHub(ISessionContext sessionContext, IWorkRepository workRepository)
+    public CallCenterHub(
+        ISessionContext sessionContext,
+        IWorkRepository workRepository,
+        IUserCacheManager userCacheManager)
     {
     {
         _sessionContext = sessionContext;
         _sessionContext = sessionContext;
         _workRepository = workRepository;
         _workRepository = workRepository;
+        _userCacheManager = userCacheManager;
     }
     }
 
 
     /// <summary>
     /// <summary>
@@ -26,7 +31,7 @@ public class CallCenterHub : Hub
     public override async Task OnConnectedAsync()
     public override async Task OnConnectedAsync()
     {
     {
         var userId = _sessionContext.RequiredUserId;
         var userId = _sessionContext.RequiredUserId;
-        var work = await _workRepository.GetCurrentWorkByUserAsync(userId, Context.ConnectionAborted);
+        var work = _userCacheManager.GetWorkByUser(userId);
         if (work == null)
         if (work == null)
             throw new UserFriendlyException($"未查询到上班记录, userId: {userId}");
             throw new UserFriendlyException($"未查询到上班记录, userId: {userId}");
         work.SignalRId = Context.ConnectionId;
         work.SignalRId = Context.ConnectionId;

+ 1 - 1
src/CallCenter.Api/StartupExtensions.cs

@@ -44,7 +44,7 @@ internal static class StartupExtensions
         services.Configure<DeviceConfigs>(d => configuration.GetSection("DeviceConfigs").Bind(d));
         services.Configure<DeviceConfigs>(d => configuration.GetSection("DeviceConfigs").Bind(d));
         services.Configure<WorkTimeSettings>(d => configuration.GetSection("WorkTimeSettings").Bind(d));
         services.Configure<WorkTimeSettings>(d => configuration.GetSection("WorkTimeSettings").Bind(d));
         services.Configure<RecordSettings>(d => configuration.GetSection("RecordSettings").Bind(d));
         services.Configure<RecordSettings>(d => configuration.GetSection("RecordSettings").Bind(d));
-        services.Configure<IdentityConfiguration>(d => configuration.GetSection("IdentityConfiguration").Bind(d));
+        services.Configure<IdentityConfiguration>(d => configuration.GetSection(nameof(IdentityConfiguration)).Bind(d));
         // Add services to the container.
         // Add services to the container.
         services
         services
             .BatchInjectServices()
             .BatchInjectServices()