package systemconfig import ( "strconv" "strings" smsnode "hfb_sys/backend/internal/modules/sms" ) // DistributionSettlementHoldDaysKey 是「新建分销站点默认结算冷却天数」的系统配置键。 const DistributionSettlementHoldDaysKey = "distribution.default_settlement_hold_days" // DefaultDistributionSettlementHoldDays 是新建分销站点默认结算冷却天数的兜底值。 const DefaultDistributionSettlementHoldDays = 7 func defaultDistributionSettlementHoldDaysValue() string { return strconv.Itoa(DefaultDistributionSettlementHoldDays) } // ParseDistributionSettlementHoldDays 解析结算冷却天数配置,为空、非法或越界时回落到默认 7 天。 func ParseDistributionSettlementHoldDays(raw string) int { days, err := strconv.Atoi(strings.TrimSpace(raw)) if err != nil || days < 0 || days > 365 { return DefaultDistributionSettlementHoldDays } return days } // validateConfigValue 按配置键分发校验逻辑,未注册校验的键直接放行。 func validateConfigValue(key, value string) error { switch key { case DistributionSettlementHoldDaysKey: return validateDistributionSettlementHoldDays(value) case smsnode.ConfigKey: if _, err := smsnode.ParseConfigValue(value); err != nil { return ErrInvalidConfig } return nil default: return nil } } func validateDistributionSettlementHoldDays(value string) error { days, err := strconv.Atoi(strings.TrimSpace(value)) if err != nil || days < 0 || days > 365 { return ErrInvalidConfig } return nil }