refactor(swap): 提取 SwapPositionQueries.ActiveByTrade 收口有效持仓查询
- 新增 SwapPositionQueries.ActiveByTrade 静态扩展,收口 'SwapTradeId==X && !Invalid' 规则到单一真相 - 替换 SwapDealService/SwapEodPositionService/SwapTradeService 共 7 处纯重复谓词 - 仅返回 IQueryable,不调 SaveChanges,不动 FindTrade seam / 事务边界;行为保持等价
This commit is contained in:
@@ -1188,7 +1188,7 @@ namespace YLErp.Modules.SwapModule
|
||||
tradeObj.trade_Initial_Margin = new trade_initial_margin();
|
||||
}
|
||||
tradeObj.trade_extend = DbContext.trade_extend.FirstOrDefault(x => x.TradeId == intid);
|
||||
tradeObj.swap_positions = DbContext.swap_position.Where(x => x.SwapTradeId == intid && !x.Invalid).ToList();
|
||||
tradeObj.swap_positions = DbContext.swap_position.ActiveByTrade(intid).ToList();
|
||||
tradeObj.swap_positions = tradeObj.swap_positions.Where(x => x.PosiQuantity > 0 || x.InterestDirection > 0).ToList();
|
||||
var intervalPositions = tradeObj.swap_positions.Where(x => string.IsNullOrEmpty(x.UnderlyingCode) && x.IsInitial).ToList();
|
||||
var intervalPositionIds = intervalPositions.Select(s => s.id).ToList();
|
||||
@@ -1517,7 +1517,7 @@ namespace YLErp.Modules.SwapModule
|
||||
throw new ServiceException("交易不存在");
|
||||
}
|
||||
bool backToBegin = td.TradeDate == valueDate;
|
||||
var swapPositions = DbContext.swap_position.Where(x => x.SwapTradeId == tradeId && !x.Invalid).ToList();
|
||||
var swapPositions = DbContext.swap_position.ActiveByTrade(tradeId).ToList();
|
||||
td.trade_extend = DbContext.trade_extend.FirstOrDefault(x => x.TradeId == td.id);
|
||||
|
||||
//展期
|
||||
|
||||
Reference in New Issue
Block a user