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> /// <summary>
/// 获取现货/逐仓杠杆订单记录(最近20条) /// 获取现货/逐仓杠杆订单记录
/// </summary> /// </summary>
/// <param name="robotId"></param> /// <param name="queryOrderRequest"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet("{robotId}")] [HttpPost("{robotId}")]
public IList<SpotOrderResponse> GetSpotOrderList([FromRoute] long robotId) public SpotOrderPageResponse GetSpotOrderList([FromBody] QueryOrderRequest queryOrderRequest)
{ {
return orderBusiness.GetSpotOrderList(robotId); return orderBusiness.GetSpotOrderList(queryOrderRequest);
} }
/// <summary> /// <summary>
/// 获取执行日志记录(最近50条) /// 获取执行日志记录
/// </summary> /// </summary>
/// <param name="robotId"></param> /// <param name="queryLogRequest"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet("{robotId}")] [HttpPost("{robotId}")]
public IList<ExecutionLogResponse> GetExecutionLogList([FromRoute] long 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 Binance.TradeRobot.Model.Dto;
using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using System.Collections.Generic;
using Yitter.IdGenerator; using Yitter.IdGenerator;
namespace Binance.TradeRobot.Business 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)
{
if (queryLogRequest.PageSize > 100)
queryLogRequest.PageSize = 100;
return new ExecutionLogPageResponse()
{ {
return fsql.Select<ExecutionLog>().Where(l => l.RobotId == robotId).OrderByDescending(l => l.CreateTime).Page(1, 50).ToList<ExecutionLogResponse>(); 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