From ecad98aa74a1284a036572fa364bcc352480149c Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 11 五月 2026 08:01:35 +0800
Subject: [PATCH] 1.车间综合看板接口调整 2.报工记录子表和不良记录表写入报工人员,班组编码 3.修改调整定时任务写入到数据库,并实现消息推送
---
VueWebCoreApi/SignalR/ChatHub.cs | 39 ++++++++++++++++++++++-----------------
1 files changed, 22 insertions(+), 17 deletions(-)
diff --git a/VueWebCoreApi/SignalR/ChatHub.cs b/VueWebCoreApi/SignalR/ChatHub.cs
index 643cdf2..7eefa98 100644
--- a/VueWebCoreApi/SignalR/ChatHub.cs
+++ b/VueWebCoreApi/SignalR/ChatHub.cs
@@ -19,11 +19,13 @@
private readonly IHttpContextAccessor _httpContextAccessor;
private ILog log = LogManager.GetLogger(Startup.repository.Name, typeof(ChatHub));
ILogger<ChatHub> _logger;
+
public ChatHub(ILogger<ChatHub> logger, IHttpContextAccessor httpContextAccessor)
{
_logger = logger;
_httpContextAccessor = httpContextAccessor;
}
+
/// <summary>
/// 瀹㈡埛绔繛鎺ユ湇鍔$
/// </summary>
@@ -35,6 +37,7 @@
_logger.LogInformation($"Client ConnectionId=> [[{id}]] Already Connection Server锛�");
return base.OnConnectedAsync();
}
+
/// <summary>
/// 瀹㈡埛绔柇寮�杩炴帴
/// </summary>
@@ -43,14 +46,12 @@
public override Task OnDisconnectedAsync(Exception exception)
{
var id = Context.ConnectionId;
- // 鍒犻櫎鐢ㄦ埛ID
- UserIdsStore.Ids.Remove(id);
+ // 浣跨敤绾跨▼瀹夊叏鏂规硶绉婚櫎杩炴帴
+ UserIdsStore.RemoveUser(id);
_logger.LogInformation($"Client ConnectionId=> [[{id}]] Already Close Connection Server!");
return base.OnDisconnectedAsync(exception);
}
- /**
- * 娴嬭瘯
- * */
+
/// <summary>
/// 缁欐墍鏈夊鎴风鍙戦�佹秷鎭�
/// </summary>
@@ -61,27 +62,31 @@
}
/// <summary>
- /// 娣诲姞鍒板湪绾跨敤鎴峰垪琛�
+ /// 娣诲姞鍒板湪绾跨敤鎴峰垪琛紙绾跨▼瀹夊叏鐗堬級
/// </summary>
- /// <param name="usercode"></param>
+ /// <param name="usercode">鐢ㄦ埛缂栫爜</param>
/// <returns></returns>
public async Task AddUser(string usercode)
{
+ if (string.IsNullOrEmpty(usercode))
+ {
+ _logger.LogWarning("AddUser鏂规硶鎺ユ敹鐨剈sercode涓虹┖锛屽拷鐣ユ搷浣�");
+ return;
+ }
+
string cid = Context.ConnectionId;
- if (!UserIdsStore.Ids.ContainsValue(usercode))
+ try
{
- await Task.Run(() => UserIdsStore.Ids.Add(cid, usercode));
+ // 璋冪敤绾跨▼瀹夊叏鐨勬坊鍔�/鏇存柊鏂规硶
+ UserIdsStore.AddOrUpdateUser(cid, usercode);
+ _logger.LogInformation($"鐢ㄦ埛[{usercode}]鐨勮繛鎺{cid}]宸叉敞鍐屽埌鍦ㄧ嚎鍒楄〃");
}
- else
+ catch (Exception ex)
{
- //lambada琛ㄨ揪寮�:鏍规嵁鍊煎幓閿悕Key
- string key = UserIdsStore.Ids.FirstOrDefault(d => d.Value == usercode).Key.ToString();
- // 鍒涘缓涓�涓柊鐨勯敭鍊煎
- UserIdsStore.Ids.Add(cid, usercode);
- // 绉婚櫎鏃х殑閿�煎
- UserIdsStore.Ids.Remove(key);
+ _logger.LogError(ex, $"娣诲姞鐢ㄦ埛[{usercode}]杩炴帴[{cid}]澶辫触");
+ throw; // 鎶涘嚭寮傚父璁╁鎴风鎰熺煡閿欒
}
-
+ await Task.CompletedTask; // 鏃犲紓姝ユ搷浣滄椂杩斿洖宸插畬鎴愪换鍔�
}
}
}
--
Gitblit v1.9.3