Clean platform summary

This commit is contained in:
2025-09-28 15:56:30 +07:00
parent 563f0969d6
commit 0fa051ccb7

View File

@@ -250,35 +250,6 @@ public class PlatformSummaryGrain : Grain, IPlatformSummaryGrain, IRemindable
_logger.LogInformation("Position closed: {PositionId} for {Ticker} with PnL: {PnL}", _logger.LogInformation("Position closed: {PositionId} for {Ticker} with PnL: {PnL}",
evt.PositionIdentifier, evt.Ticker, evt.RealizedPnL); evt.PositionIdentifier, evt.Ticker, evt.RealizedPnL);
// // Validate event data
// if (evt == null || evt.PositionIdentifier == Guid.Empty || evt.Ticker == Ticker.Unknown)
// {
// _logger.LogWarning("Invalid PositionClosedEvent received: {Event}", evt);
// return;
// }
// _state.State.TotalPlatformVolume += evt.Volume;
// // PnL is now calculated directly from database positions, not from events
// // This ensures accuracy and prevents double-counting issues
// // Refresh PnL from database to get the latest accurate value
// await RefreshPnLFromDatabaseAsync();
// // Update volume by asset
// var asset = evt.Ticker;
// if (!_state.State.VolumeByAsset.ContainsKey(asset))
// {
// _state.State.VolumeByAsset[asset] = 0;
// }
// _state.State.VolumeByAsset[asset] += evt.Volume;
// // Mark that volume has been updated by events
// _state.State.VolumeUpdatedByEvents = true;
// // Update open interest (subtract the closed position's volume)
// _state.State.OpenInterest = Math.Max(0, _state.State.OpenInterest - evt.Volume);
_state.State.HasPendingChanges = true; _state.State.HasPendingChanges = true;
await _state.WriteStateAsync(); await _state.WriteStateAsync();
} }
@@ -295,55 +266,6 @@ public class PlatformSummaryGrain : Grain, IPlatformSummaryGrain, IRemindable
_logger.LogInformation("Position opened: {PositionIdentifier} for {Ticker} with volume: {Volume}", _logger.LogInformation("Position opened: {PositionIdentifier} for {Ticker} with volume: {Volume}",
evt.PositionIdentifier, evt.Ticker, evt.Volume); evt.PositionIdentifier, evt.Ticker, evt.Volume);
// // Validate event data
// if (evt == null || evt.Ticker == Ticker.Unknown || evt.Volume <= 0)
// {
// _logger.LogWarning("Invalid PositionOpenEvent received: {Event}", evt);
// return;
// }
// // Update platform volume
// _state.State.TotalPlatformVolume += evt.Volume;
// // Update volume by asset
// var asset = evt.Ticker;
// if (!_state.State.VolumeByAsset.ContainsKey(asset))
// {
// _state.State.VolumeByAsset[asset] = 0;
// }
// _state.State.VolumeByAsset[asset] += evt.Volume;
// // Mark that volume has been updated by events
// _state.State.VolumeUpdatedByEvents = true;
// // Update open interest and position count
// // Since this is called only when position is fully open on broker, we always increase counts
// _state.State.TotalLifetimePositionCount++;
// _state.State.OpenInterest += evt.Volume;
// // Update position count by asset
// if (!_state.State.PositionCountByAsset.ContainsKey(asset))
// {
// _state.State.PositionCountByAsset[asset] = 0;
// }
// _state.State.PositionCountByAsset[asset]++;
// // Update position count by direction
// if (!_state.State.PositionCountByDirection.ContainsKey(evt.Direction))
// {
// _state.State.PositionCountByDirection[evt.Direction] = 0;
// }
// _state.State.PositionCountByDirection[evt.Direction]++;
// // Update fees if provided
// if (evt.Fee > 0)
// {
// _state.State.TotalPlatformFees += evt.Fee;
// }
_state.State.HasPendingChanges = true; _state.State.HasPendingChanges = true;
await _state.WriteStateAsync(); await _state.WriteStateAsync();
} }