diff --git a/Binance.TradeRobot.API/Binance.TradeRobot.API.xml b/Binance.TradeRobot.API/Binance.TradeRobot.API.xml index bb6e78e..bf02b98 100644 --- a/Binance.TradeRobot.API/Binance.TradeRobot.API.xml +++ b/Binance.TradeRobot.API/Binance.TradeRobot.API.xml @@ -131,9 +131,9 @@ 获取用户资金变更记录 - + - 获取用户盈亏记录,暂未开放 + 获取用户盈亏记录 diff --git a/Binance.TradeRobot.API/Controllers/UserController.cs b/Binance.TradeRobot.API/Controllers/UserController.cs index b00e5d2..a11f50e 100644 --- a/Binance.TradeRobot.API/Controllers/UserController.cs +++ b/Binance.TradeRobot.API/Controllers/UserController.cs @@ -47,12 +47,12 @@ namespace Binance.TradeRobot.API.Controllers } /// - /// 获取用户盈亏记录,暂未开放 + /// 获取用户盈亏记录 /// [HttpGet] - public void GetUserAccountProfitLossRecordList() + public UserAccountProfitLossRecordListResponse GetUserAccountProfitLossRecordList([FromBody] QueryUserAccountRequest queryUserAccountRequest) { - + return userBusiness.GetUserAccountProfitLossRecordList(queryUserAccountRequest); } /// diff --git a/Binance.TradeRobot.Business/Business/UserBusiness.cs b/Binance.TradeRobot.Business/Business/UserBusiness.cs index 161341a..a8dc560 100644 --- a/Binance.TradeRobot.Business/Business/UserBusiness.cs +++ b/Binance.TradeRobot.Business/Business/UserBusiness.cs @@ -261,35 +261,35 @@ namespace Binance.TradeRobot.Business }; } - //public UserAccountProfitLossRecordListResponse GetUserAccountProfitLossRecordList(QueryUserAccountRequest queryUserAccountRequest) - //{ - // var list = fsql.Select() - // .WithLock(SqlServerLock.NoLock) - // .InnerJoin((p, u, r) => p.UserId == u.Id) - // .InnerJoin((p, u, r) => p.RobotId == r.Id) - // .Where((p, u, r) => p.UserId == queryUserAccountRequest.UserId) - // .Count(out var recordCount) - // .Page(queryUserAccountRequest.PageIndex, queryUserAccountRequest.PageSize) - // .ToList((p, u, r) => new UserAccountProfitLossRecordResponse() - // { - // Id = p.Id, - // ChangeAmount = p.ChangeAmount, - // CreateTime = p.CreateTime, - // DividendRatio = p.DividendRatio, - // OrderProfit = p.OrderProfit, - // RobotId = p.RobotId, - // SpotOrderId = p.SpotOrderId, - // Symbol = r.Symbol, - // UserId = p.UserId, - // UserName = u.UserName, - // UserProfit = p.UserProfit - // }); - // return new UserAccountProfitLossRecordListResponse() - // { - // List = list, - // RecordCount = recordCount - // }; - //} + public UserAccountProfitLossRecordListResponse GetUserAccountProfitLossRecordList(QueryUserAccountRequest queryUserAccountRequest) + { + var list = fsql.Select() + .WithLock(SqlServerLock.NoLock) + .InnerJoin((p, u, r) => p.UserId == u.Id) + .InnerJoin((p, u, r) => p.RobotId == r.Id) + .Where((p, u, r) => p.UserId == queryUserAccountRequest.UserId) + .Count(out var recordCount) + .Page(queryUserAccountRequest.PageIndex, queryUserAccountRequest.PageSize) + .ToList((p, u, r) => new UserAccountProfitLossRecordResponse() + { + Id = p.Id, + ChangeAmount = p.ChangeAmount, + CreateTime = p.CreateTime, + DividendRatio = p.DividendRatio, + OrderProfit = p.OrderProfit, + RobotId = p.RobotId, + OrderId = p.OrderId, + Symbol = r.Symbol, + UserId = p.UserId, + UserName = u.UserName, + UserProfit = p.UserProfit + }); + return new UserAccountProfitLossRecordListResponse() + { + List = list, + RecordCount = recordCount + }; + } #endregion } diff --git a/Binance.TradeRobot.Model/Dto/Response/User/UserAccountProfitLossRecordResponse.cs b/Binance.TradeRobot.Model/Dto/Response/User/UserAccountProfitLossRecordResponse.cs new file mode 100644 index 0000000..c62f8c1 --- /dev/null +++ b/Binance.TradeRobot.Model/Dto/Response/User/UserAccountProfitLossRecordResponse.cs @@ -0,0 +1,20 @@ +using Binance.TradeRobot.Model.Db; +using System; +using System.Collections.Generic; +using System.Text; + +namespace Binance.TradeRobot.Model.Dto +{ + public class UserAccountProfitLossRecordResponse : UserAccountProfitLossRecord + { + public string Symbol { get; set; } + public string UserName { get; set; } + } + + public class UserAccountProfitLossRecordListResponse + { + public long RecordCount { get; set; } + + public IList List { get; set; } + } +} diff --git a/SDKTestConsole/Program.cs b/SDKTestConsole/Program.cs index 3cc7271..82d5087 100644 --- a/SDKTestConsole/Program.cs +++ b/SDKTestConsole/Program.cs @@ -65,8 +65,11 @@ namespace SDKTestConsole SpotApiOptions = spotClientOption }); - var r = binanceClient.SpotApi.Trading.GetMarginOrderAsync("GMTUSDT", 901880136, isIsolated: true).Result; - Console.WriteLine(JsonConvert.SerializeObject(r.Data)); + //var r = client.GetIsolatedMarginAccountAssets(); + + var r =client.IsolatedMarginRepay("GMTUSDT", 0.00004748M); + var r1 = client.IsolatedMarginRepay("APEUSDT", 0.00003912M); + var r3 = client.GetIsolatedMarginAccountAssets(); Console.ReadKey(); } }