2025-03-05 23:08:58 +08:00
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
|
using System.Text.Json.Serialization;
|
2025-03-08 22:14:26 +08:00
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
2025-03-05 23:08:58 +08:00
|
|
|
|
using Microsoft.SemanticKernel;
|
|
|
|
|
|
|
2025-03-08 22:14:26 +08:00
|
|
|
|
namespace Yi.Framework.Stock.Domain.Managers.SemanticKernel.Plugins;
|
2025-03-05 23:08:58 +08:00
|
|
|
|
|
|
|
|
|
|
public class StockPlugins
|
|
|
|
|
|
{
|
2025-03-08 22:14:26 +08:00
|
|
|
|
private readonly IServiceProvider _serviceProvider;
|
|
|
|
|
|
|
|
|
|
|
|
public StockPlugins(IServiceProvider serviceProvider)
|
|
|
|
|
|
{
|
|
|
|
|
|
_serviceProvider = serviceProvider;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-03-05 23:08:58 +08:00
|
|
|
|
[KernelFunction("save_stocks"), Description("生成并且保存多个股票记录")]
|
2025-03-08 22:14:26 +08:00
|
|
|
|
public async Task SaveAsync(List<StockModel> stockModels)
|
2025-03-05 23:08:58 +08:00
|
|
|
|
{
|
2025-03-08 22:14:26 +08:00
|
|
|
|
var stockMarketManager= _serviceProvider.GetRequiredService<StockMarketManager>();
|
|
|
|
|
|
await stockMarketManager.SaveStockAsync(stockModels);
|
2025-03-05 23:08:58 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class StockModel
|
|
|
|
|
|
{
|
|
|
|
|
|
[JsonPropertyName("id")]
|
2025-03-08 22:14:26 +08:00
|
|
|
|
[DisplayName("股票id")]
|
|
|
|
|
|
public Guid Id { get; set; }
|
2025-03-05 23:08:58 +08:00
|
|
|
|
|
2025-03-08 22:14:26 +08:00
|
|
|
|
[JsonPropertyName("values")]
|
|
|
|
|
|
[DisplayName("股票未来24小时价格")]
|
|
|
|
|
|
public decimal[] Values { get; set; }
|
2025-03-05 23:08:58 +08:00
|
|
|
|
}
|