diff --git a/Binance.TradeRobot.API/Controllers/OrderController.cs b/Binance.TradeRobot.API/Controllers/OrderController.cs index 7962408..cb0ac27 100644 --- a/Binance.TradeRobot.API/Controllers/OrderController.cs +++ b/Binance.TradeRobot.API/Controllers/OrderController.cs @@ -17,25 +17,25 @@ namespace Binance.TradeRobot.API.Controllers } /// - /// 获取现货/逐仓杠杆订单记录(最近20条) + /// 获取现货/逐仓杠杆订单记录 /// - /// + /// /// - [HttpGet("{robotId}")] - public IList GetSpotOrderList([FromRoute] long robotId) + [HttpPost("{robotId}")] + public SpotOrderPageResponse GetSpotOrderList([FromBody] QueryOrderRequest queryOrderRequest) { - return orderBusiness.GetSpotOrderList(robotId); + return orderBusiness.GetSpotOrderList(queryOrderRequest); } /// - /// 获取执行日志记录(最近50条) + /// 获取执行日志记录 /// - /// + /// /// - [HttpGet("{robotId}")] - public IList GetExecutionLogList([FromRoute] long robotId) + [HttpPost("{robotId}")] + public ExecutionLogPageResponse GetExecutionLogList([FromBody] QueryLogRequest queryLogRequest) { - return orderBusiness.GetExecutionLogList(robotId); + return orderBusiness.GetExecutionLogList(queryLogRequest); } } } diff --git a/Binance.TradeRobot.Business/Business/OrderBusiness.cs b/Binance.TradeRobot.Business/Business/OrderBusiness.cs index bcc6dfc..0eb3382 100644 --- a/Binance.TradeRobot.Business/Business/OrderBusiness.cs +++ b/Binance.TradeRobot.Business/Business/OrderBusiness.cs @@ -3,7 +3,6 @@ using Binance.TradeRobot.Model.Db; using Binance.TradeRobot.Model.Dto; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.DependencyInjection; -using System.Collections.Generic; using Yitter.IdGenerator; namespace Binance.TradeRobot.Business @@ -16,14 +15,34 @@ namespace Binance.TradeRobot.Business } - public IList GetSpotOrderList(long robotId) + public SpotOrderPageResponse GetSpotOrderList(QueryOrderRequest queryOrderRequest) { - return fsql.Select().Where(o => o.RobotId == robotId).OrderByDescending(o => o.CreateTime).Page(1, 20).ToList(); + 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 IList GetExecutionLogList(long robotId) + public ExecutionLogPageResponse GetExecutionLogList(QueryLogRequest queryLogRequest) { - return fsql.Select().Where(l => l.RobotId == robotId).OrderByDescending(l => l.CreateTime).Page(1, 50).ToList(); + 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 + }; } } } diff --git a/Binance.TradeRobot.Model/Dto/Request/Order/QueryLogRequest.cs b/Binance.TradeRobot.Model/Dto/Request/Order/QueryLogRequest.cs new file mode 100644 index 0000000..273401b --- /dev/null +++ b/Binance.TradeRobot.Model/Dto/Request/Order/QueryLogRequest.cs @@ -0,0 +1,11 @@ +namespace Binance.TradeRobot.Model.Dto +{ + public class QueryLogRequest + { + public long RobotId { get; set; } + + public int PageIndex { get; set; } + + public int PageSize { get; set; } + } +} diff --git a/Binance.TradeRobot.Model/Dto/Request/Order/QueryOrderRequest.cs b/Binance.TradeRobot.Model/Dto/Request/Order/QueryOrderRequest.cs new file mode 100644 index 0000000..3d619a2 --- /dev/null +++ b/Binance.TradeRobot.Model/Dto/Request/Order/QueryOrderRequest.cs @@ -0,0 +1,11 @@ +namespace Binance.TradeRobot.Model.Dto +{ + public class QueryOrderRequest + { + public long RobotId { get; set; } + + public int PageIndex { get; set; } + + public int PageSize { get; set; } + } +} diff --git a/Binance.TradeRobot.Model/Dto/Response/Order/ExecutionLogPageResponse.cs b/Binance.TradeRobot.Model/Dto/Response/Order/ExecutionLogPageResponse.cs new file mode 100644 index 0000000..73edbe7 --- /dev/null +++ b/Binance.TradeRobot.Model/Dto/Response/Order/ExecutionLogPageResponse.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Binance.TradeRobot.Model.Dto +{ + public class ExecutionLogPageResponse + { + public long TotalCount { get; set; } + + public IList Items { get; set; } + } +} diff --git a/Binance.TradeRobot.Model/Dto/Response/Order/SpotOrderPageResponse.cs b/Binance.TradeRobot.Model/Dto/Response/Order/SpotOrderPageResponse.cs new file mode 100644 index 0000000..c366130 --- /dev/null +++ b/Binance.TradeRobot.Model/Dto/Response/Order/SpotOrderPageResponse.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Binance.TradeRobot.Model.Dto +{ + public class SpotOrderPageResponse + { + public long TotalCount { get; set; } + + public IList Items { get; set; } + } +}