Enhance UI, add AI integration, improve logging and database stats
This commit is contained in:
@@ -92,13 +92,13 @@ public class TradeRepository : ITradeRepository
|
||||
public async Task<HashSet<string>> GetKnownPlatformTradeIdsAsync(PlatformType platform, int traderId, IEnumerable<string> platformTradeIds, CancellationToken ct = default)
|
||||
{
|
||||
var idList = platformTradeIds.ToList();
|
||||
if (idList.Count == 0) return new HashSet<string>();
|
||||
if (idList.Count == 0) return new HashSet<string>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
var ids = await _db.Trades
|
||||
.Where(t => t.Platform == platform && t.TraderId == traderId && idList.Contains(t.PlatformTradeId))
|
||||
.Where(t => t.Platform == platform && idList.Contains(t.PlatformTradeId))
|
||||
.Select(t => t.PlatformTradeId)
|
||||
.ToListAsync(ct);
|
||||
return new HashSet<string>(ids);
|
||||
return new HashSet<string>(ids, StringComparer.OrdinalIgnoreCase);
|
||||
}
|
||||
|
||||
public async Task UpdateAsync(Trade trade, CancellationToken ct = default)
|
||||
@@ -111,4 +111,19 @@ public class TradeRepository : ITradeRepository
|
||||
_db.Trades.Update(trade);
|
||||
await _db.SaveChangesAsync(ct);
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyList<Trade>> GetTradesForContextEnrichmentAsync(int limit, CancellationToken ct = default)
|
||||
{
|
||||
return await _db.Trades
|
||||
.Include(t => t.Trader)
|
||||
.Include(t => t.Trader.CurrentScore)
|
||||
.Include(t => t.Trader.WatchlistEntries)
|
||||
.Where(t => !t.IsContextEnriched
|
||||
&& t.Platform == PlatformType.Polymarket
|
||||
&& t.AssetId != "")
|
||||
.Where(t => t.Trader.WatchlistEntries.Any() || (t.Trader.CurrentScore != null && t.Trader.CurrentScore.CopytradingScore > 50))
|
||||
.OrderByDescending(t => t.ExecutedAt)
|
||||
.Take(limit)
|
||||
.ToListAsync(ct);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user