fix: address code review findings
This commit is contained in:
@@ -131,12 +131,17 @@ func (sm *StationMonitor) updateStationStatus(ctx context.Context, tripCount int
|
||||
zeroSinceData, err := sm.Cache.Get(ctx, zeroSinceKey)
|
||||
var zeroSince time.Time
|
||||
if err == nil && zeroSinceData != nil {
|
||||
var zeroSinceUnix int64
|
||||
_, parseErr := fmt.Sscanf(string(zeroSinceData), "%d", &zeroSinceUnix)
|
||||
if parseErr == nil {
|
||||
zeroSince = time.Unix(zeroSinceUnix, 0)
|
||||
} else {
|
||||
// Handle "0" marker for time.Time{} (no zero-since)
|
||||
if string(zeroSinceData) == "0" {
|
||||
zeroSince = time.Time{}
|
||||
} else {
|
||||
var zeroSinceUnix int64
|
||||
_, parseErr := fmt.Sscanf(string(zeroSinceData), "%d", &zeroSinceUnix)
|
||||
if parseErr == nil {
|
||||
zeroSince = time.Unix(zeroSinceUnix, 0)
|
||||
} else {
|
||||
zeroSince = time.Time{}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,7 +189,12 @@ func (sm *StationMonitor) updateStationStatus(ctx context.Context, tripCount int
|
||||
}
|
||||
|
||||
// Write updated zero-since timestamp to cache with 24h TTL
|
||||
if err := sm.Cache.Set(ctx, zeroSinceKey, []byte(fmt.Sprintf("%d", zeroSince.Unix())), 24*time.Hour); err != nil {
|
||||
// Use "0" marker for time.Time{} to indicate no zero-since
|
||||
zeroSinceStr := "0"
|
||||
if !zeroSince.IsZero() {
|
||||
zeroSinceStr = fmt.Sprintf("%d", zeroSince.Unix())
|
||||
}
|
||||
if err := sm.Cache.Set(ctx, zeroSinceKey, []byte(zeroSinceStr), 24*time.Hour); err != nil {
|
||||
return newStatus, fmt.Errorf("cache set zero since: %w", err)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user