diff --git a/WGShare.API/Controllers/Frontend/AgoraCallbackController.cs b/WGShare.API/Controllers/Frontend/AgoraCallbackController.cs index 5dc9cb0..ad61942 100644 --- a/WGShare.API/Controllers/Frontend/AgoraCallbackController.cs +++ b/WGShare.API/Controllers/Frontend/AgoraCallbackController.cs @@ -165,9 +165,18 @@ namespace WGShare.API.Controllers.Frontend return; } - if(existsChannel.TryAdd(eventBody.payload.channelName, 0)) + if (existsChannel.TryAdd(eventBody.payload.channelName, 0)) { - ExceptionNotice.JoinAsync(eventBody); + var roomInfo = await _sqlSugarClient.Queryable() + .LeftJoin((r, t) => r.TenantId == t.Id) + .Where((r, t) => r.RoomNum == eventBody.payload.channelName) + .Select((r, t) => new Room + { + Id = r.Id.SelectAll(), + TenantName = t.TenantName + }) + .FirstAsync(); + ExceptionNotice.JoinAsync(eventBody, roomInfo); } } diff --git a/WGShare.API/Controllers/Frontend/HomeController.cs b/WGShare.API/Controllers/Frontend/HomeController.cs index 715355b..2856221 100644 --- a/WGShare.API/Controllers/Frontend/HomeController.cs +++ b/WGShare.API/Controllers/Frontend/HomeController.cs @@ -371,5 +371,17 @@ namespace WGShare.API.Controllers.Frontend await _sqlSugar.Insertable(entity).ExecuteCommandAsync(); } + /// + /// 记录用户当前用户版本 + /// + /// + [HttpPost("ver-log")] + public async Task RecordVersionLog([FromBody] UserVersionLogDto userVersionLog) + { + var uvl = userVersionLog.Adapt(); + uvl.UserId = UId.ToInt64(); + await _sqlSugar.Insertable(uvl).ExecuteCommandAsync(); + } + } } diff --git a/WGShare.API/WGShare.API.xml b/WGShare.API/WGShare.API.xml index bfe4dfb..a575368 100644 --- a/WGShare.API/WGShare.API.xml +++ b/WGShare.API/WGShare.API.xml @@ -162,6 +162,12 @@ + + + 记录用户当前用户版本 + + + 会议室接口 diff --git a/WGShare.Domain/DTOs/Home/UserVersionLogDto.cs b/WGShare.Domain/DTOs/Home/UserVersionLogDto.cs new file mode 100644 index 0000000..2a38a3b --- /dev/null +++ b/WGShare.Domain/DTOs/Home/UserVersionLogDto.cs @@ -0,0 +1,29 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yitter.IdGenerator; + +namespace WGShare.Domain.DTOs.Home +{ + public class UserVersionLogDto + { + + + /// + /// 使用版本 + /// + public string Version { get; set; } + /// + /// 平台类型 1:PC 2:微信小程序 + /// + public int PlatformType { get; set; } + + /// + /// 房间号 + /// + public string RoomNum { get; set; } + } +} diff --git a/WGShare.Domain/Entities/Room.cs b/WGShare.Domain/Entities/Room.cs index 6ff215e..707f99c 100644 --- a/WGShare.Domain/Entities/Room.cs +++ b/WGShare.Domain/Entities/Room.cs @@ -68,5 +68,12 @@ namespace WGShare.Domain.Entities /// [SugarColumn(ColumnName = "allow_anonymous")] public bool AllowAnonymous { get; set; } = true; + + + /// + /// 租户名称 + /// + [SugarColumn(IsIgnore = true)] + public string TenantName { get; set; } } } diff --git a/WGShare.Domain/Entities/UserVersionLog.cs b/WGShare.Domain/Entities/UserVersionLog.cs new file mode 100644 index 0000000..e50631e --- /dev/null +++ b/WGShare.Domain/Entities/UserVersionLog.cs @@ -0,0 +1,52 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Security.Principal; +using System.Text; +using System.Threading.Tasks; +using Yitter.IdGenerator; + +namespace WGShare.Domain.Entities +{ + /// + /// 用户版本记录表 + /// + [SugarTable("user_version_log")] + public class UserVersionLog + { + /// + /// + /// + [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)] + public string Id { get; set; } = YitIdHelper.NextId().ToString(); + /// + /// 用户Id + /// + [SugarColumn(ColumnName = "user_id")] + public long UserId { get; set; } + /// + /// 使用版本 + /// + [SugarColumn(ColumnName = "version")] + public string Version { get; set; } + /// + /// 平台类型 + /// + [SugarColumn(ColumnName = "platform_type")] + public int PlatformType { get; set; } + + /// + /// 房间号 + /// + [SugarColumn(ColumnName = "room_num")] + public string RoomNum { get; set; } + + /// + /// 进房时间 + /// + [SugarColumn(ColumnName = "join_time", IsOnlyIgnoreInsert = true, IsOnlyIgnoreUpdate = true)] + public DateTime JoinTime { get; set; } + + } +} diff --git a/WGShare.Domain/FriendlyException/ExceptionNotice.cs b/WGShare.Domain/FriendlyException/ExceptionNotice.cs index a222ab1..88c32ba 100644 --- a/WGShare.Domain/FriendlyException/ExceptionNotice.cs +++ b/WGShare.Domain/FriendlyException/ExceptionNotice.cs @@ -1,5 +1,6 @@ using System.Net.Http.Json; using WGShare.Domain.DTOs.AgoraCallback; +using WGShare.Domain.Entities; namespace WGShare.Domain.FriendlyException { @@ -41,7 +42,7 @@ namespace WGShare.Domain.FriendlyException } - public static async Task JoinAsync(EventBody eventBody) + public static async Task JoinAsync(EventBody eventBody, Room roomInfo) { // 获取当前的日期 DateTime today = DateTime.Today; @@ -69,7 +70,7 @@ namespace WGShare.Domain.FriendlyException markdown = new { title = "有人入会通知", - text = $"有人进入会议室了,会议号:{eventBody.payload.channelName},点击查看:https://analytics-lab.agora.io/analytics/call/search?projectId=0tOpVUrmf&fromTs={startTimestamp}&toTs={endTimestamp}" + text = $"有人进入会议室了,学校:{roomInfo.TenantName},会议室名称:{roomInfo.RoomName},会议号:{eventBody.payload.channelName}. \r\n 点击查看:https://analytics-lab.agora.io/analytics/call/search?projectId=0tOpVUrmf&fromTs={startTimestamp}&toTs={endTimestamp}" }, })); }