保证金算法&资金计算
This commit is contained in:
@@ -165,76 +165,44 @@ namespace YLErp.Modules.EodModule.SettlementModule
|
||||
var nextSettleDate = QdpCalendarHelper.GetNonHoliday(settleDate.AddDays(1));
|
||||
var days = (nextSettleDate - settleDate).Days;
|
||||
logger.Info("settleDate:" + settleDate.ToString("yyyy-MM-dd") + " nextSettleDate:" + nextSettleDate + " days:" + days);
|
||||
for (var i=0; i< days; i++)
|
||||
for (var i = 0; i < days; i++)
|
||||
{
|
||||
var yesterday= settleDate.AddDays(i-1);
|
||||
var today= settleDate.AddDays(i);
|
||||
var yesterday = settleDate.AddDays(i - 1);
|
||||
var today = settleDate.AddDays(i);
|
||||
new SwapEodPositionService(OptUser).SwapPositionCompose(today, yesterday, clientIds);
|
||||
CalculateMargin(today, yesterday, clientIds);
|
||||
new SwapEodPositionService(OptUser).SwapEodCompose(today, yesterday, clientIds);
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 追加预付金腿利息归档
|
||||
/// </summary>
|
||||
public void ExceuteEodSwapMarginPosi()
|
||||
{
|
||||
var settleDate = _context.SettleDate;
|
||||
var clientIds = _context.Request.ClientIds;
|
||||
var nextSettleDate = QdpCalendarHelper.GetNonHoliday(settleDate.AddDays(1));
|
||||
var days = (nextSettleDate - settleDate).Days;
|
||||
for (var i = 0; i < days; i++)
|
||||
{
|
||||
var yesterday = settleDate.AddDays(i - 1);
|
||||
var today = settleDate.AddDays(i);
|
||||
new SwapEodPositionService(OptUser).SwapEodCompose(today, yesterday, clientIds);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 框架合约汇总
|
||||
/// </summary>
|
||||
/// <param name="setTaskStep"></param>
|
||||
public void ExecuteEodSwap()
|
||||
{
|
||||
var settleDate = _context.SettleDate;
|
||||
var clientIds = _context.Request.ClientIds;
|
||||
var nextSettleDate = QdpCalendarHelper.GetNonHoliday(settleDate.AddDays(1));
|
||||
var days = (nextSettleDate - settleDate).Days;
|
||||
for (var i = 0; i < days; i++)
|
||||
{
|
||||
var yesterday = settleDate.AddDays(i - 1);
|
||||
var today = settleDate.AddDays(i);
|
||||
new SwapEodPositionService(OptUser).SwapEodCompose(today, yesterday, clientIds);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 计算互换预付金
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool CalculateMargin()
|
||||
public bool CalculateMargin(DateTime settleDate, DateTime preSettleDate, IEnumerable<int> ClientIds)
|
||||
{
|
||||
var balanceDate = _context.SettleDate;
|
||||
var preSettleDate = _context.PreSettleDate;
|
||||
var reqClientIds = _context.Request.ClientIds;
|
||||
// 构建请求对象
|
||||
CalculateMarginRequest request = new CalculateMarginRequest()
|
||||
{
|
||||
currentDate = balanceDate.ToString("yyyy-MM-dd"),
|
||||
clientIds = reqClientIds,
|
||||
preSettleDate= preSettleDate.ToString("yyyy-MM-dd")
|
||||
currentDate = settleDate.ToString("yyyy-MM-dd"),
|
||||
clientIds = ClientIds,
|
||||
preSettleDate = preSettleDate.ToString("yyyy-MM-dd")
|
||||
};
|
||||
var baseUrl = Environment.GetEnvironmentVariable("BondOmsInterface_BaseUrl");
|
||||
var calculateMarginUrl = "/marginAlgorithm/triggerMarginCalc";
|
||||
|
||||
if (!string.IsNullOrEmpty(baseUrl))
|
||||
{
|
||||
var httpHelper = new HttpHelper(baseUrl, null);
|
||||
// http 请求 Web项目接口
|
||||
var result = httpHelper.PostRequestNoAuth<CalculateMarginRequest, CalculateMarginResponse>(calculateMarginUrl, request).Result;
|
||||
if (result!=null&&!result.success)
|
||||
|
||||
if (result != null && !result.success)
|
||||
{
|
||||
throw new ServiceException($"互换预付金计算失败:{result.message}");
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user