refactor(swap): 提取 SwapPositionQueries.ActiveByTrade 收口有效持仓查询
- 新增 SwapPositionQueries.ActiveByTrade 静态扩展,收口 'SwapTradeId==X && !Invalid' 规则到单一真相 - 替换 SwapDealService/SwapEodPositionService/SwapTradeService 共 7 处纯重复谓词 - 仅返回 IQueryable,不调 SaveChanges,不动 FindTrade seam / 事务边界;行为保持等价
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
using System.Linq;
|
||||
using YLErp.DBModels;
|
||||
|
||||
namespace YLErp.Modules.SwapModule
|
||||
{
|
||||
/// <summary>
|
||||
/// swap_position 查询收口(Query Object)。
|
||||
/// 规则"有效持仓 = SwapTradeId 匹配且未作废(!Invalid)"集中于此,
|
||||
/// 避免多处复制同一谓词导致语义漂移(漏写 !Invalid 即静默出 bug)。
|
||||
/// 仅返回 IQueryable,不调用 SaveChanges,不破坏跟踪/Include/事务边界。
|
||||
/// </summary>
|
||||
public static class SwapPositionQueries
|
||||
{
|
||||
public static IQueryable<swap_position> ActiveByTrade(
|
||||
this IQueryable<swap_position> query, int tradeId)
|
||||
=> query.Where(x => x.SwapTradeId == tradeId && !x.Invalid);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user