fix(growth): harden deterministic report evidence
This commit is contained in:
@@ -9,16 +9,17 @@ import (
|
||||
)
|
||||
|
||||
type FingerprintInput struct {
|
||||
MerchantID int64 `json:"merchantId"`
|
||||
TerminalID string `json:"terminalId,omitempty"`
|
||||
DatasetWatermark string `json:"datasetWatermark"`
|
||||
ForecastStart time.Time `json:"forecastStart"`
|
||||
HorizonDays int `json:"horizonDays"`
|
||||
CatalogVersion string `json:"catalogVersion"`
|
||||
AnalyticsVersion string `json:"analyticsVersion"`
|
||||
PromptVersion string `json:"promptVersion"`
|
||||
SchemaVersion string `json:"schemaVersion"`
|
||||
Model string `json:"model"`
|
||||
MerchantID int64 `json:"merchantId"`
|
||||
TerminalID string `json:"terminalId,omitempty"`
|
||||
DatasetWatermark string `json:"datasetWatermark"`
|
||||
ForecastStart time.Time `json:"forecastStart"`
|
||||
HorizonDays int `json:"horizonDays"`
|
||||
CatalogVersion string `json:"catalogVersion"`
|
||||
AnalyticsVersion string `json:"analyticsVersion"`
|
||||
PromptVersion string `json:"promptVersion"`
|
||||
SchemaVersion string `json:"schemaVersion"`
|
||||
Model string `json:"model"`
|
||||
ModelConfigVersion string `json:"modelConfigVersion"`
|
||||
}
|
||||
|
||||
func Fingerprint(input FingerprintInput) string {
|
||||
@@ -30,6 +31,7 @@ func Fingerprint(input FingerprintInput) string {
|
||||
DatasetWatermark: input.DatasetWatermark, HorizonDays: input.HorizonDays,
|
||||
CatalogVersion: input.CatalogVersion, AnalyticsVersion: input.AnalyticsVersion,
|
||||
PromptVersion: input.PromptVersion, SchemaVersion: input.SchemaVersion, Model: input.Model,
|
||||
ModelConfigVersion: input.ModelConfigVersion,
|
||||
}, ForecastDate: input.ForecastStart.In(tehranLocation()).Format(time.DateOnly)})
|
||||
if err != nil {
|
||||
return ""
|
||||
@@ -95,6 +97,7 @@ func BuildFallback(bundle EvidenceBundle) []CampaignBrief {
|
||||
HeadlineFA: "یک فرصت مناسب در راه است: " + opportunity.EventTitleFA,
|
||||
GuidanceFA: "دادههای قبلی شما نشان میدهد این مناسبت میتواند برای برنامهریزی فروش ارزشمند باشد.",
|
||||
OfferFA: "پیشنهاد خود را متناسب با نیاز مشتریان این مناسبت آماده کنید.",
|
||||
MessageFA: "برای این مناسبت یک پیشنهاد ویژه برای شما آماده کردهایم.",
|
||||
PreparationFA: "موجودی، پیام کمپین و مسیر پرداخت را پیش از شروع مناسبت بررسی کنید.",
|
||||
LimitationFA: "این پیشنهاد بر پایه الگوهای گذشته است و نتیجه قطعی نیست.",
|
||||
EvidenceIDs: []string{opportunity.EvidenceID},
|
||||
@@ -105,6 +108,7 @@ func BuildFallback(bundle EvidenceBundle) []CampaignBrief {
|
||||
HeadlineFA: "برای یک بازه آرامتر آماده باشید",
|
||||
GuidanceFA: "الگوی گذشته احتمال کاهش فعالیت را در این بازه نشان میدهد.",
|
||||
OfferFA: "یک پیشنهاد سبک برای حفظ ارتباط با مشتریان در نظر بگیرید.",
|
||||
MessageFA: "این روزها هم کنار شما هستیم؛ پیشنهادهای تازه را ببینید.",
|
||||
PreparationFA: "پیام یادآوری و تجربه پرداخت را پیش از این بازه بازبینی کنید.",
|
||||
LimitationFA: "این هشدار بر پایه الگوهای گذشته است و نتیجه قطعی نیست.",
|
||||
EvidenceIDs: []string{risk.EvidenceID},
|
||||
|
||||
Reference in New Issue
Block a user