From 313cf55c60932c1a481eb3c268c678f563ed8206 Mon Sep 17 00:00:00 2001 From: zpc Date: Sat, 21 Sep 2024 17:25:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MultiTenant/MultiTenantDbContext.cs | 6 +- .../Music/MusicService.cs | 108 ++++++++++-------- 2 files changed, 61 insertions(+), 53 deletions(-) diff --git a/src/0-core/HuanMeng.DotNetCore/MultiTenant/MultiTenantDbContext.cs b/src/0-core/HuanMeng.DotNetCore/MultiTenant/MultiTenantDbContext.cs index 29710ff..99c6ec3 100644 --- a/src/0-core/HuanMeng.DotNetCore/MultiTenant/MultiTenantDbContext.cs +++ b/src/0-core/HuanMeng.DotNetCore/MultiTenant/MultiTenantDbContext.cs @@ -75,8 +75,8 @@ namespace HuanMeng.DotNetCore.MultiTenant } return base.SaveChanges(); } - - public override Task SaveChangesAsync(CancellationToken cancellationToken = default) + + public override async Task SaveChangesAsync(CancellationToken cancellationToken = default) { if (TenantInfo?.TenantId != null) { @@ -94,7 +94,7 @@ namespace HuanMeng.DotNetCore.MultiTenant } } } - return base.SaveChangesAsync(cancellationToken); + return await base.SaveChangesAsync(cancellationToken); } } diff --git a/src/0-core/HuanMeng.MiaoYu.Code/Music/MusicService.cs b/src/0-core/HuanMeng.MiaoYu.Code/Music/MusicService.cs index 7b09fb1..37e2bc4 100644 --- a/src/0-core/HuanMeng.MiaoYu.Code/Music/MusicService.cs +++ b/src/0-core/HuanMeng.MiaoYu.Code/Music/MusicService.cs @@ -60,66 +60,74 @@ namespace HuanMeng.MiaoYu.Code.Music foreach (var item in AppConfigurationExtend.AppConfigs.Values) { - using var service = serviceProvider.CreateScope(); - var _serviceProvider = service.ServiceProvider; - var temantInfo = _serviceProvider.GetService(); - var t = item.ToITenantInfo(); - DAO dao = new DAO(_serviceProvider, t); - var list = dao.daoDbMiaoYu.context.M_Songs.Where(it => it.State == 1).ToList(); - if (list.Count > 0) + try { - var httpFactory = serviceProvider.GetRequiredService(); - foreach (var songs in list) + using var service = serviceProvider.CreateScope(); + var _serviceProvider = service.ServiceProvider; + var temantInfo = _serviceProvider.GetService(); + var t = item.ToITenantInfo(); + DAO dao = new DAO(_serviceProvider, t); + var list = dao.daoDbMiaoYu.context.M_Songs.Where(it => it.State == 0).ToList(); + if (list.Count > 0) { - var httpClient = httpFactory.CreateClient(); - httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - httpClient.DefaultRequestHeaders.Add("authorization", "Bearer hk-ylg6c31000042000fef54b80aec96b39e83b36f6e551440b"); - var url = $"https://api.openai-hk.com/suno/feed/{songs.SpecialId}"; - var response = await httpClient.GetAsync(url); - if (response == null || !response.IsSuccessStatusCode) + var httpFactory = serviceProvider.GetRequiredService(); + foreach (var songs in list) { - //throw new Exception("创建音乐失败"); - songs.State = -1; - dao.daoDbMiaoYu.context.SaveChanges(); - continue; - } - var responseContent = await response.Content.ReadAsStringAsync(); - if (string.IsNullOrEmpty(responseContent)) - { - songs.State = -1; - dao.daoDbMiaoYu.context.SaveChanges(); - continue; - } - var obj = JsonConvert.DeserializeObject(responseContent); - //status - var status = obj?.SelectToken("[0].status")?.ToString(); - if (status == "complete") - { - songs.MusicAddress = obj?.SelectToken("[0].audio_url")?.ToString() ?? ""; - songs.CoverImage = obj?.SelectToken("[0].image_url")?.ToString() ?? ""; - songs.ImageLargeUrl = obj?.SelectToken("[0].image_large_url")?.ToString() ?? ""; - songs.Lyrics = obj?.SelectToken("[0].metadata.prompt")?.ToString() ?? ""; - var duration = obj?.SelectToken("[0].metadata.duration")?.ToString() ?? ""; - if (!string.IsNullOrEmpty(duration)) + var httpClient = httpFactory.CreateClient(); + httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + httpClient.DefaultRequestHeaders.Add("authorization", "Bearer hk-ylg6c31000042000fef54b80aec96b39e83b36f6e551440b"); + var url = $"https://api.openai-hk.com/suno/feed/{songs.SpecialId}"; + var response = await httpClient.GetAsync(url); + if (response == null || !response.IsSuccessStatusCode) { - if (decimal.TryParse(duration, out var d)) - { - songs.Duration = TimeOnly.FromTimeSpan(new TimeSpan(0, 0, (int)d)); - } + //throw new Exception("创建音乐失败"); + songs.State = -1; + dao.daoDbMiaoYu.context.SaveChanges(); + continue; } - songs.State = 1; - var songInfo = await dao.daoDbMiaoYu.context.M_SongInfo.Where(it => it.Id == songs.SongInfoId).FirstOrDefaultAsync(); - if (songInfo != null) + var responseContent = await response.Content.ReadAsStringAsync(); + if (string.IsNullOrEmpty(responseContent)) { - if (songInfo.Status == "正在生成") - { - songInfo.Status = "已完成"; - } + songs.State = -1; + dao.daoDbMiaoYu.context.SaveChanges(); + continue; + } + var obj = JsonConvert.DeserializeObject(responseContent); + //status + var status = obj?.SelectToken("[0].status")?.ToString(); + if (status == "complete") + { + songs.MusicAddress = obj?.SelectToken("[0].audio_url")?.ToString() ?? ""; + songs.CoverImage = obj?.SelectToken("[0].image_url")?.ToString() ?? ""; + songs.ImageLargeUrl = obj?.SelectToken("[0].image_large_url")?.ToString() ?? ""; + songs.Lyrics = obj?.SelectToken("[0].metadata.prompt")?.ToString() ?? ""; + var duration = obj?.SelectToken("[0].metadata.duration")?.ToString() ?? ""; + if (!string.IsNullOrEmpty(duration)) + { + if (decimal.TryParse(duration, out var d)) + { + songs.Duration = TimeOnly.FromTimeSpan(new TimeSpan(0, 0, (int)d)); + } + } + songs.State = 1; + var songInfo = await dao.daoDbMiaoYu.context.M_SongInfo.Where(it => it.Id == songs.SongInfoId).FirstOrDefaultAsync(); + if (songInfo != null) + { + if (songInfo.Status == "正在生成") + { + songInfo.Status = "已完成"; + } + } + dao.daoDbMiaoYu.context.SaveChanges(); } - dao.daoDbMiaoYu.context.SaveChanges(); } } } + catch (Exception ex) + { + + + } } Thread.Sleep(1000 * 5);