Fix: Implement FixPlan part A9, A10, B
This commit is contained in:
@@ -64,10 +64,16 @@ public class PollingWorker : BackgroundService
|
||||
await rateLimiter.WaitAsync(trader.Platform, stoppingToken);
|
||||
var trades = await provider.GetTraderTradesAsync(trader.PlatformUserId, 100, stoppingToken);
|
||||
|
||||
// ── Filter: skip trades with empty PlatformTradeId ──
|
||||
var validTrades = trades
|
||||
.Where(t => !string.IsNullOrWhiteSpace(t.PlatformTradeId))
|
||||
.ToList();
|
||||
|
||||
var updatedName = validTrades.FirstOrDefault(t => !string.IsNullOrEmpty(t.TransientDisplayName))?.TransientDisplayName;
|
||||
if (!string.IsNullOrEmpty(updatedName) && !string.Equals(trader.DisplayName, updatedName, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
trader.DisplayName = updatedName;
|
||||
await traderRepo.UpdateAsync(trader, stoppingToken);
|
||||
}
|
||||
|
||||
if (validTrades.Count < trades.Count)
|
||||
{
|
||||
@@ -147,6 +153,11 @@ public class PollingWorker : BackgroundService
|
||||
trader.LastPolledAt = DateTime.UtcNow;
|
||||
await traderRepo.UpdateAsync(trader, stoppingToken);
|
||||
}
|
||||
catch (OperationCanceledException) when (stoppingToken.IsCancellationRequested)
|
||||
{
|
||||
_logger.LogInformation("Cancellation requested during polling, stopping batch.");
|
||||
break;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Error polling trader {Trader} on {Platform}",
|
||||
|
||||
Reference in New Issue
Block a user