using Binance.TradeRobot.Model.Base; namespace Binance.TradeRobot.Model.Dto { public class UserResponse : Db.User { /// /// 累计盈亏 /// public decimal CumulativeProfitAndLoss { get { return TotalAssets - CostAmount; } } /// /// 本金比例 /// public decimal CostRatio { get; set; } /// /// 分红比例 /// public decimal DividendRatio { get; set; } /// /// 用户资金改变算法 /// /// /// /// 是否手动操作 public void ChangeAmount(Enums.CapitalChangeType capitalChangeType, decimal changeAmount, bool isManualOperation) { if (capitalChangeType == Enums.CapitalChangeType.Add) { TotalAssets += changeAmount; if (isManualOperation) CostAmount += changeAmount; } else if (capitalChangeType == Enums.CapitalChangeType.Reduce) { var cumulativeProfitAndLoss = CumulativeProfitAndLoss; TotalAssets -= changeAmount; if (isManualOperation) { if (cumulativeProfitAndLoss < changeAmount) CostAmount -= cumulativeProfitAndLoss > 0 ? changeAmount - cumulativeProfitAndLoss : changeAmount; WithdrawAmount += changeAmount; } } } } }