feat: ai完成stock模块搭建
This commit is contained in:
@@ -12,6 +12,7 @@ using Yi.Framework.Stock.Application.Contracts.IServices;
|
||||
using Yi.Framework.Stock.Domain.Entities;
|
||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||
using Yi.Framework.Stock.Domain.Managers;
|
||||
using Mapster;
|
||||
|
||||
namespace Yi.Framework.Stock.Application.Services
|
||||
{
|
||||
@@ -34,6 +35,23 @@ namespace Yi.Framework.Stock.Application.Services
|
||||
_stockMarketManager = stockMarketManager;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建股市
|
||||
/// </summary>
|
||||
[HttpPost("stock/markets")]
|
||||
[Authorize]
|
||||
public async Task<StockMarketDto> CreateStockMarketAsync(CreateStockMarketInputDto input)
|
||||
{
|
||||
// 使用映射将输入DTO转换为实体
|
||||
var stockMarket = input.Adapt<StockMarketAggregateRoot>();
|
||||
|
||||
// 保存到数据库
|
||||
var result = await _stockMarketRepository.InsertReturnEntityAsync(stockMarket);
|
||||
|
||||
// 使用映射将实体转换为返回DTO
|
||||
return result.Adapt<StockMarketDto>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取股市列表
|
||||
/// </summary>
|
||||
@@ -87,6 +105,7 @@ namespace Yi.Framework.Stock.Application.Services
|
||||
Id = p.Id,
|
||||
StockId = p.StockId,
|
||||
CreationTime = p.CreationTime,
|
||||
RecordTime = p.RecordTime,
|
||||
CurrentPrice = p.CurrentPrice,
|
||||
Volume = p.Volume,
|
||||
Turnover = p.Turnover,
|
||||
@@ -132,5 +151,16 @@ namespace Yi.Framework.Stock.Application.Services
|
||||
input.Quantity
|
||||
);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成最新股票记录
|
||||
/// </summary>
|
||||
[HttpPost("stock/generate")]
|
||||
[Authorize]
|
||||
public async Task GenerateStocksAsync()
|
||||
{
|
||||
await _stockMarketManager.GenerateStocksAsync();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ using Yi.Framework.Stock.Application.Contracts.Dtos.StockNews;
|
||||
using Yi.Framework.Stock.Application.Contracts.IServices;
|
||||
using Yi.Framework.Stock.Domain.Entities;
|
||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||
using Yi.Framework.Stock.Domain.Managers;
|
||||
|
||||
namespace Yi.Framework.Stock.Application.Services
|
||||
{
|
||||
@@ -17,16 +18,20 @@ namespace Yi.Framework.Stock.Application.Services
|
||||
public class StockNewsService : ApplicationService, IStockNewsService
|
||||
{
|
||||
private readonly ISqlSugarRepository<StockNewsAggregateRoot> _stockNewsRepository;
|
||||
private readonly NewsManager _newsManager;
|
||||
|
||||
public StockNewsService(ISqlSugarRepository<StockNewsAggregateRoot> stockNewsRepository)
|
||||
public StockNewsService(
|
||||
ISqlSugarRepository<StockNewsAggregateRoot> stockNewsRepository,
|
||||
NewsManager newsManager)
|
||||
{
|
||||
_stockNewsRepository = stockNewsRepository;
|
||||
_newsManager = newsManager;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取股市新闻列表
|
||||
/// </summary>
|
||||
[HttpGet("/api/stock/news")]
|
||||
[HttpGet("/api/app/stock/news")]
|
||||
public async Task<PagedResultDto<StockNewsDto>> GetStockNewsListAsync(StockNewsGetListInputDto input)
|
||||
{
|
||||
RefAsync<int> total = 0;
|
||||
@@ -61,5 +66,15 @@ namespace Yi.Framework.Stock.Application.Services
|
||||
|
||||
return new PagedResultDto<StockNewsDto>(total, list);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成股市新闻
|
||||
/// </summary>
|
||||
/// <returns>生成结果</returns>
|
||||
[HttpPost("/api/app/stock/news/generate")]
|
||||
public async Task GenerateNewsAsync()
|
||||
{
|
||||
await _newsManager.GenerateNewsAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user