Browse Source

订单 日志分页

master
shanji 3 years ago
parent
commit
0174b4f179
  1. 20
      Binance.TradeRobot.API/Controllers/OrderController.cs
  2. 29
      Binance.TradeRobot.Business/Business/OrderBusiness.cs
  3. 11
      Binance.TradeRobot.Model/Dto/Request/Order/QueryLogRequest.cs
  4. 11
      Binance.TradeRobot.Model/Dto/Request/Order/QueryOrderRequest.cs
  5. 13
      Binance.TradeRobot.Model/Dto/Response/Order/ExecutionLogPageResponse.cs
  6. 13
      Binance.TradeRobot.Model/Dto/Response/Order/SpotOrderPageResponse.cs

20
Binance.TradeRobot.API/Controllers/OrderController.cs

@ -17,25 +17,25 @@ namespace Binance.TradeRobot.API.Controllers
}
/// <summary>
/// 获取现货/逐仓杠杆订单记录(最近20条)
/// 获取现货/逐仓杠杆订单记录
/// </summary>
/// <param name="robotId"></param>
/// <param name="queryOrderRequest"></param>
/// <returns></returns>
[HttpGet("{robotId}")]
public IList<SpotOrderResponse> GetSpotOrderList([FromRoute] long robotId)
[HttpPost("{robotId}")]
public SpotOrderPageResponse GetSpotOrderList([FromBody] QueryOrderRequest queryOrderRequest)
{
return orderBusiness.GetSpotOrderList(robotId);
return orderBusiness.GetSpotOrderList(queryOrderRequest);
}
/// <summary>
/// 获取执行日志记录(最近50条)
/// 获取执行日志记录
/// </summary>
/// <param name="robotId"></param>
/// <param name="queryLogRequest"></param>
/// <returns></returns>
[HttpGet("{robotId}")]
public IList<ExecutionLogResponse> GetExecutionLogList([FromRoute] long robotId)
[HttpPost("{robotId}")]
public ExecutionLogPageResponse GetExecutionLogList([FromBody] QueryLogRequest queryLogRequest)
{
return orderBusiness.GetExecutionLogList(robotId);
return orderBusiness.GetExecutionLogList(queryLogRequest);
}
}
}

29
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<SpotOrderResponse> GetSpotOrderList(long robotId)
public SpotOrderPageResponse GetSpotOrderList(QueryOrderRequest queryOrderRequest)
{
return fsql.Select<SpotOrder>().Where(o => o.RobotId == robotId).OrderByDescending(o => o.CreateTime).Page(1, 20).ToList<SpotOrderResponse>();
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 IList<ExecutionLogResponse> GetExecutionLogList(long robotId)
public ExecutionLogPageResponse GetExecutionLogList(QueryLogRequest queryLogRequest)
{
return fsql.Select<ExecutionLog>().Where(l => l.RobotId == robotId).OrderByDescending(l => l.CreateTime).Page(1, 50).ToList<ExecutionLogResponse>();
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
};
}
}
}

11
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; }
}
}

11
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; }
}
}

13
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<ExecutionLogResponse> Items { get; set; }
}
}

13
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<SpotOrderResponse> Items { get; set; }
}
}
Loading…
Cancel
Save