diff --git a/WGShare.API/Controllers/Backend/UserController.cs b/WGShare.API/Controllers/Backend/UserController.cs index f693ebe..ae704ca 100644 --- a/WGShare.API/Controllers/Backend/UserController.cs +++ b/WGShare.API/Controllers/Backend/UserController.cs @@ -201,7 +201,11 @@ namespace WGShare.API.Controllers.Backend else if (x.RoleId == "房间管理员") roleId = "3"; x.RoleId = roleId; - x.Subject = x.SubjectName.GetEnumValueFromDescription(); + + if (string.IsNullOrWhiteSpace(x.SubjectName)) + x.Subject = SubjectType.All; + else + x.Subject = x.SubjectName.GetEnumValueFromDescription(); }); await _sqlSugar.Insertable(users).ExecuteCommandAsync(); diff --git a/WGShare.API/Controllers/Frontend/AgoraCallbackController.cs b/WGShare.API/Controllers/Frontend/AgoraCallbackController.cs index 8b4e689..d90732b 100644 --- a/WGShare.API/Controllers/Frontend/AgoraCallbackController.cs +++ b/WGShare.API/Controllers/Frontend/AgoraCallbackController.cs @@ -42,7 +42,7 @@ namespace WGShare.API.Controllers.Frontend this._agoraHelper = agoraHelper; this._configuration = configuration; } - + [HttpPost("event")] public async Task Event() @@ -84,12 +84,13 @@ namespace WGShare.API.Controllers.Frontend switch (body.eventType) { case Domain.Enums.EventType.channel_create: + CreateChannel(body); break; case Domain.Enums.EventType.channel_destroy: break; case Domain.Enums.EventType.broadcaster_join_channel: case Domain.Enums.EventType.audience_join_channel: - JoinChannelEvent(bodyString); + JoinChannelEvent(bodyString, body); break; case Domain.Enums.EventType.broadcaster_leave_channel: case Domain.Enums.EventType.audience_leave_channel: @@ -103,7 +104,7 @@ namespace WGShare.API.Controllers.Frontend await ExceptionNotice.SendAsync(new Exception("声网事件未知类型"), "声网回调异常"); break; } - + } @@ -111,10 +112,9 @@ namespace WGShare.API.Controllers.Frontend /// 加入频道 /// [NonAction] - private void JoinChannelEvent(string bodyString) + private void JoinChannelEvent(string bodyString, EventBody eventBody) { _logger.LogDebug($"Agora回调内容 加入频道:{bodyString}"); - RedisHelper.Instance.LPush(RedisKeyConstant.PubSub.MeetingRecord, bodyString); } @@ -130,6 +130,14 @@ namespace WGShare.API.Controllers.Frontend RedisHelper.Instance.LPush(RedisKeyConstant.PubSub.MeetingRecord, bodyString); } + /// + /// 创建频道 + /// + [NonAction] + private void CreateChannel(EventBody eventBody) + { + ExceptionNotice.JoinAsync(eventBody); + } } diff --git a/WGShare.API/Controllers/Frontend/UserController.cs b/WGShare.API/Controllers/Frontend/UserController.cs index 0237eb2..4229893 100644 --- a/WGShare.API/Controllers/Frontend/UserController.cs +++ b/WGShare.API/Controllers/Frontend/UserController.cs @@ -234,6 +234,9 @@ namespace WGShare.API.Controllers.Frontend if (string.IsNullOrWhiteSpace(x.SubjectName)) x.Subject = SubjectType.All; + else + x.Subject = x.SubjectName.GetEnumValueFromDescription(); + }); await _sqlSugar.Insertable(users).ExecuteCommandAsync(); diff --git a/WGShare.API/WGShare.API.xml b/WGShare.API/WGShare.API.xml index 1a15c3f..772336d 100644 --- a/WGShare.API/WGShare.API.xml +++ b/WGShare.API/WGShare.API.xml @@ -73,7 +73,7 @@ Agora接口 - + 加入频道 @@ -83,6 +83,11 @@ 离开频道 + + + 创建频道 + + 首页接口 diff --git a/WGShare.Domain/FriendlyException/ExceptionNotice.cs b/WGShare.Domain/FriendlyException/ExceptionNotice.cs index 0ebd78e..b1e8d96 100644 --- a/WGShare.Domain/FriendlyException/ExceptionNotice.cs +++ b/WGShare.Domain/FriendlyException/ExceptionNotice.cs @@ -1,4 +1,5 @@ using System.Net.Http.Json; +using WGShare.Domain.DTOs.AgoraCallback; namespace WGShare.Domain.FriendlyException { @@ -39,6 +40,19 @@ namespace WGShare.Domain.FriendlyException return reponse.IsSuccessStatusCode; } + + public static async Task JoinAsync(EventBody eventBody) + { + var reponse = await httpClient.PostAsync(string.Empty, JsonContent.Create(new + { + msgtype = "markdown", + markdown = new + { + title = "有人入会通知", + text = $"有人进入会议室了,会议号:{eventBody.payload.channelName},点击查看:https://analytics-lab.agora.io/analytics/call/search?projectId=0tOpVUrmf" + }, + })); + } } }