using Volo.Abp.Domain.Services; using Yi.Framework.SqlSugarCore.Abstractions; using Yi.Framework.Stock.Domain.Entities; using Yi.Framework.Stock.Domain.Managers.SemanticKernel; using Yi.Framework.Stock.Domain.Managers.SemanticKernel.Plugins; namespace Yi.Framework.Stock.Domain.Managers; public class NewsManager:DomainService { private SemanticKernelClient _skClient; private ISqlSugarRepository _newsRepository; public NewsManager(SemanticKernelClient skClient,ISqlSugarRepository newsRepository) { _skClient = skClient; _newsRepository = newsRepository; } /// /// 生成一个新闻 /// /// public async Task GenerateNewsAsync() { var question = """ 生成并保存一个新闻,包含新闻标题、新闻内容、新闻简介、新闻来源 内容关于娱乐圈 只用生成一次即可 """; await _skClient.ChatCompletionAsync(question, ("NewsPlugins","save_news")); } public async Task SaveNewsAsync(NewsModel news) { var newsEntity = new StockNewsAggregateRoot( title: news.Title, content: news.Content, source: news.Source ) { Summary = news.Summary, CreationTime = DateTime.Now, IsDeleted = false, OrderNum = 0 }; await _newsRepository.InsertAsync(newsEntity); } }