Browse Source

盈亏记录

master
shanji 3 years ago
parent
commit
9ddcbccf21
  1. 4
      Binance.TradeRobot.API/Binance.TradeRobot.API.xml
  2. 6
      Binance.TradeRobot.API/Controllers/UserController.cs
  3. 58
      Binance.TradeRobot.Business/Business/UserBusiness.cs
  4. 20
      Binance.TradeRobot.Model/Dto/Response/User/UserAccountProfitLossRecordResponse.cs
  5. 7
      SDKTestConsole/Program.cs

4
Binance.TradeRobot.API/Binance.TradeRobot.API.xml

@ -131,9 +131,9 @@
获取用户资金变更记录
</summary>
</member>
<member name="M:Binance.TradeRobot.API.Controllers.UserController.GetUserAccountProfitLossRecordList">
<member name="M:Binance.TradeRobot.API.Controllers.UserController.GetUserAccountProfitLossRecordList(Binance.TradeRobot.Model.Dto.QueryUserAccountRequest)">
<summary>
获取用户盈亏记录,暂未开放
获取用户盈亏记录
</summary>
</member>
<member name="M:Binance.TradeRobot.API.Controllers.UserController.AddFunds(Binance.TradeRobot.Model.Dto.FundsChangeRequest)">

6
Binance.TradeRobot.API/Controllers/UserController.cs

@ -47,12 +47,12 @@ namespace Binance.TradeRobot.API.Controllers
}
/// <summary>
/// 获取用户盈亏记录,暂未开放
/// 获取用户盈亏记录
/// </summary>
[HttpGet]
public void GetUserAccountProfitLossRecordList()
public UserAccountProfitLossRecordListResponse GetUserAccountProfitLossRecordList([FromBody] QueryUserAccountRequest queryUserAccountRequest)
{
return userBusiness.GetUserAccountProfitLossRecordList(queryUserAccountRequest);
}
/// <summary>

58
Binance.TradeRobot.Business/Business/UserBusiness.cs

@ -261,35 +261,35 @@ namespace Binance.TradeRobot.Business
};
}
//public UserAccountProfitLossRecordListResponse GetUserAccountProfitLossRecordList(QueryUserAccountRequest queryUserAccountRequest)
//{
// var list = fsql.Select<Model.Db.UserAccountProfitLossRecord, Model.Db.User, Model.Db.Robot>()
// .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<Model.Db.UserAccountProfitLossRecord, Model.Db.User, Model.Db.Robot>()
.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
}

20
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<UserAccountProfitLossRecordResponse> List { get; set; }
}
}

7
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();
}
}

Loading…
Cancel
Save