fix: scope page insights to reporting periods

This commit is contained in:
2026-08-22 17:24:37 +08:00
parent 1b6ad4d095
commit 7f9c16be4b
13 changed files with 295 additions and 24 deletions

View File

@@ -79,7 +79,7 @@ func (s *Service) Latest(ctx context.Context, merchantID int64, terminalID strin
}
func (s *Service) LatestForPeriod(ctx context.Context, merchantID int64, terminalID string, module Module, period PeriodScope) (Snapshot, error) {
if module != ModuleTransactions || period.PeriodID == "" {
if period.PeriodID == "" {
return s.Latest(ctx, merchantID, terminalID, module)
}
if terminalID != "" {
@@ -193,7 +193,7 @@ func (s *Service) enqueuePrepared(ctx context.Context, merchantID int64, termina
triggerReason = "PROFILE"
fingerprintSalt = strings.TrimPrefix(reason, "PROFILE:")
}
fingerprint := hash(fmt.Sprintf("%d|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s", merchantID, terminalID, module, section, period.PeriodID, tc.AsOfDate, watermark, catalog, AnalyticsVersion, "page_insight_v5", fingerprintSalt))
fingerprint := hash(fmt.Sprintf("%d|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s", merchantID, terminalID, module, section, period.PeriodID, tc.AsOfDate, watermark, catalog, AnalyticsVersion, PageInsightVersion, fingerprintSalt))
requestHash := hash(fmt.Sprintf("%d|%s|%s|%s|%s|%t", merchantID, terminalID, module, section, period.PeriodID, manual))
return s.repository.Create(ctx, CreateRequest{MerchantID: merchantID, TerminalID: terminalID, Module: module, Section: section, TriggerReason: triggerReason, ManualRefresh: manual, IdempotencyKey: key, RequestHash: requestHash, Fingerprint: fingerprint, Time: tc, Confidence: confidenceFor(tc.Freshness), CatalogVersion: catalog, Evidence: []byte(`{}`), Period: period})
}