using Binance.TradeRobot.Model.Base; namespace Binance.TradeRobot.Model.Dto { public class UserResponse : Db.User { /// /// 总资产(本金+收益) /// public decimal TotalAssets { get { return CostAmount + Profit; } } /// /// 本金比例 /// public decimal CostRatio { get; set; } /// /// 分红比例 /// public decimal DividendRatio { get; set; } /// /// 用户资金改变算法 /// /// /// /// true:优先增加本金 false:优先增加利润 public void ChangeAmount(Enums.CapitalChangeType capitalChangeType, decimal changeAmount, bool priorityAddCost) { if (capitalChangeType == Enums.CapitalChangeType.Add) { if (priorityAddCost) CostAmount += changeAmount; else Profit += changeAmount; } else if (capitalChangeType == Enums.CapitalChangeType.Reduce) { if (Profit > 0) { if (Profit >= changeAmount) Profit -= changeAmount; //收益足够提现,只扣收益 else { var lessChangeAmount = changeAmount; //收益不足提现,先扣收益,不足部分再扣本金 lessChangeAmount -= Profit; Profit = 0; CostAmount -= lessChangeAmount; } } else { CostAmount -= changeAmount; } } } } }