币安量化交易
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
2.1 KiB

using Binance.TradeRobot.Common.DI;
using Binance.TradeRobot.Model.Db;
using Binance.TradeRobot.Model.Dto;
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.DependencyInjection;
using Yitter.IdGenerator;
namespace Binance.TradeRobot.Business
{
[BatchRegistration(ServiceLifetime.Singleton, RegistrationType.Self)]
public class OrderBusiness : BaseBusiness
{
public OrderBusiness(IFreeSql fsql, NLogManager logManager, IIdGenerator idGenerator, IMemoryCache memoryCache) : base(fsql, logManager, idGenerator, memoryCache)
{
}
public SpotOrderPageResponse GetSpotOrderList(QueryOrderRequest queryOrderRequest)
{
if (queryOrderRequest.PageSize > 100)
queryOrderRequest.PageSize = 100;
return new SpotOrderPageResponse()
{
Items = fsql.Select<SpotOrder>().Where(o => o.RobotId == queryOrderRequest.RobotId)
.OrderByDescending(o => o.CreateTime)
.Page(queryOrderRequest.PageIndex, queryOrderRequest.PageSize)
.Count(out long totalCount)
.ToList<SpotOrderResponse>(),
TotalCount = totalCount
};
}
public ExecutionLogPageResponse GetExecutionLogList(QueryLogRequest queryLogRequest)
{
if (queryLogRequest.PageSize > 100)
queryLogRequest.PageSize = 100;
return new ExecutionLogPageResponse()
{
Items = fsql.Select<ExecutionLog>().Where(l => l.RobotId == queryLogRequest.RobotId)
.OrderByDescending(l => l.CreateTime)
.Page(queryLogRequest.PageIndex, queryLogRequest.PageSize)
.Count(out long totalCount)
.ToList<ExecutionLogResponse>(),
TotalCount = totalCount
};
}
}
}