修改问题

This commit is contained in:
zpc 2024-09-21 17:25:47 +08:00
parent 2538372303
commit 313cf55c60
2 changed files with 61 additions and 53 deletions

View File

@ -75,8 +75,8 @@ namespace HuanMeng.DotNetCore.MultiTenant
} }
return base.SaveChanges(); return base.SaveChanges();
} }
public override Task<int> SaveChangesAsync(CancellationToken cancellationToken = default) public override async Task<int> SaveChangesAsync(CancellationToken cancellationToken = default)
{ {
if (TenantInfo?.TenantId != null) if (TenantInfo?.TenantId != null)
{ {
@ -94,7 +94,7 @@ namespace HuanMeng.DotNetCore.MultiTenant
} }
} }
} }
return base.SaveChangesAsync(cancellationToken); return await base.SaveChangesAsync(cancellationToken);
} }
} }

View File

@ -60,66 +60,74 @@ namespace HuanMeng.MiaoYu.Code.Music
foreach (var item in AppConfigurationExtend.AppConfigs.Values) foreach (var item in AppConfigurationExtend.AppConfigs.Values)
{ {
using var service = serviceProvider.CreateScope(); try
var _serviceProvider = service.ServiceProvider;
var temantInfo = _serviceProvider.GetService<ITenantInfo>();
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)
{ {
var httpFactory = serviceProvider.GetRequiredService<IHttpClientFactory>(); using var service = serviceProvider.CreateScope();
foreach (var songs in list) var _serviceProvider = service.ServiceProvider;
var temantInfo = _serviceProvider.GetService<ITenantInfo>();
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(); var httpFactory = serviceProvider.GetRequiredService<IHttpClientFactory>();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); foreach (var songs in list)
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)
{ {
//throw new Exception("创建音乐失败"); var httpClient = httpFactory.CreateClient();
songs.State = -1; httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
dao.daoDbMiaoYu.context.SaveChanges(); httpClient.DefaultRequestHeaders.Add("authorization", "Bearer hk-ylg6c31000042000fef54b80aec96b39e83b36f6e551440b");
continue; var url = $"https://api.openai-hk.com/suno/feed/{songs.SpecialId}";
} var response = await httpClient.GetAsync(url);
var responseContent = await response.Content.ReadAsStringAsync(); if (response == null || !response.IsSuccessStatusCode)
if (string.IsNullOrEmpty(responseContent))
{
songs.State = -1;
dao.daoDbMiaoYu.context.SaveChanges();
continue;
}
var obj = JsonConvert.DeserializeObject<JArray>(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)) //throw new Exception("创建音乐失败");
{ songs.State = -1;
songs.Duration = TimeOnly.FromTimeSpan(new TimeSpan(0, 0, (int)d)); dao.daoDbMiaoYu.context.SaveChanges();
} continue;
} }
songs.State = 1; var responseContent = await response.Content.ReadAsStringAsync();
var songInfo = await dao.daoDbMiaoYu.context.M_SongInfo.Where(it => it.Id == songs.SongInfoId).FirstOrDefaultAsync(); if (string.IsNullOrEmpty(responseContent))
if (songInfo != null)
{ {
if (songInfo.Status == "正在生成") songs.State = -1;
{ dao.daoDbMiaoYu.context.SaveChanges();
songInfo.Status = "已完成"; continue;
} }
var obj = JsonConvert.DeserializeObject<JArray>(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); Thread.Sleep(1000 * 5);