修改问题

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();
}
public override Task<int> SaveChangesAsync(CancellationToken cancellationToken = default)
public override async Task<int> 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);
}
}

View File

@ -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<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)
try
{
var httpFactory = serviceProvider.GetRequiredService<IHttpClientFactory>();
foreach (var songs in list)
using var service = serviceProvider.CreateScope();
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();
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<IHttpClientFactory>();
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<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))
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<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);