簿记 刷新冻结资金
This commit is contained in:
@@ -3,10 +3,13 @@ using Confluent.Kafka;
|
||||
using CsvHelper;
|
||||
using Dapper;
|
||||
using DocumentFormat.OpenXml.Drawing;
|
||||
using DocumentFormat.OpenXml.Spreadsheet;
|
||||
using MoreLinq;
|
||||
using Newtonsoft.Json;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using Org.BouncyCastle.Asn1.Ocsp;
|
||||
using Qdp.ComputeServiceV2.Data.CommonModels.TradeInfos;
|
||||
using Qdp.Foundation.Utilities;
|
||||
using Qdp.Pricing.Base.Enums;
|
||||
using Qdp.Pricing.Base.Implementations;
|
||||
using System.Linq;
|
||||
@@ -26,6 +29,7 @@ using YLErp.Models;
|
||||
using YLErp.Modules.AppModule;
|
||||
using YLErp.Modules.EodModule.QueryModule;
|
||||
using YLErp.Modules.RiskModule;
|
||||
using YLErp.Modules.SwapModule.Dto;
|
||||
using YLErp.Modules.TradeMsgOutputModule;
|
||||
using YLErp.QdpModule;
|
||||
using static alglib;
|
||||
@@ -461,13 +465,13 @@ namespace YLErp.Modules.SwapModule
|
||||
/// </summary>
|
||||
/// <param name="mergeList"></param>
|
||||
/// <param name="valueDate"></param>
|
||||
public void MergeAvgModeCompose(List<swap_flow_merge> mergeList, DateTime valueDate, Action<int>? action)
|
||||
public Dictionary<long, List<string>> MergeAvgModeCompose(List<swap_flow_merge> mergeList, DateTime valueDate, Action<int>? action)
|
||||
{
|
||||
var flowquery = mergeList.GroupBy(g => g.ClientId);
|
||||
var flowCount = flowquery.Count();
|
||||
if (flowCount == 0)
|
||||
{
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
var swaptrades = DbContext.trade.Where(t => t.TradeType == "收益互换"
|
||||
&& t.TradeDate <= valueDate
|
||||
@@ -479,11 +483,59 @@ namespace YLErp.Modules.SwapModule
|
||||
var floatRatePredicate = PredicateBuilder.Create<SwapFloatRate>(x => x.StartDate <= valueDate && x.EndDate >= matuirityDate);
|
||||
var floatRateQuery = DbContext.swap_float_rate.Where(floatRatePredicate);
|
||||
int dealCount = 0;
|
||||
|
||||
Dictionary<long,List<string>> clientUmsDic = new Dictionary<long, List<string>>();
|
||||
|
||||
foreach (var groupItem in flowquery)
|
||||
{
|
||||
MergeAvgModelItem(groupItem, swaptrades, swapPositions, floatRateQuery, ref dealCount, action);
|
||||
clientUmsDic.Add(groupItem.Key ?? 0, groupItem.Select(p => p.UnderlyingCode).Distinct().ToList());
|
||||
}
|
||||
return clientUmsDic;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 刷新冻结资金缓存
|
||||
/// </summary>
|
||||
/// <param name="clientUmsDic"></param>
|
||||
public void refreshFrozenCashCache(Dictionary<long, List<string>> clientUmsDic)
|
||||
{
|
||||
if (clientUmsDic == null || clientUmsDic.Count == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Task.Run(() => {
|
||||
try
|
||||
{
|
||||
//发送http请求
|
||||
var baseUrl = Environment.GetEnvironmentVariable("BondOmsInterface_BaseUrl");
|
||||
|
||||
if (!string.IsNullOrEmpty(baseUrl))
|
||||
{
|
||||
var httpHelper = new HttpHelper(baseUrl, null);
|
||||
var url = $"{baseUrl}/riskJob/refreshClientFrozenCash";
|
||||
foreach (var item in clientUmsDic)
|
||||
{
|
||||
var clientId = item.Key;
|
||||
var underlyingCodes = item.Value;
|
||||
//请求参数
|
||||
RefreshFrozenCashCacheReq req = new RefreshFrozenCashCacheReq(clientId, underlyingCodes);
|
||||
// http 请求 Web项目接口
|
||||
var result = httpHelper.PostRequestNoAuth<RefreshFrozenCashCacheReq, RefreshFrozenCashCacheResp>(url, req).Result;
|
||||
if (result != null && !result.success)
|
||||
{
|
||||
LogFactory.GetLogger("刷新冻结资金").Info("刷新冻结资金:" + result.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogFactory.GetLogger("刷新冻结资金").Error("刷新冻结资金:" + ex.Message);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void UpdateSwapFlowState(List<swap_flow> swapFlows)
|
||||
{
|
||||
foreach (var item in swapFlows)
|
||||
|
||||
Reference in New Issue
Block a user