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().Where(o => o.RobotId == queryOrderRequest.RobotId) .OrderByDescending(o => o.CreateTime) .Page(queryOrderRequest.PageIndex, queryOrderRequest.PageSize) .Count(out long totalCount) .ToList(), TotalCount = totalCount }; } public ExecutionLogPageResponse GetExecutionLogList(QueryLogRequest queryLogRequest) { if (queryLogRequest.PageSize > 100) queryLogRequest.PageSize = 100; return new ExecutionLogPageResponse() { Items = fsql.Select().Where(l => l.RobotId == queryLogRequest.RobotId) .OrderByDescending(l => l.CreateTime) .Page(queryLogRequest.PageIndex, queryLogRequest.PageSize) .Count(out long totalCount) .ToList(), TotalCount = totalCount }; } } }