内部加价分离, 不展示

This commit is contained in:
yml2213
2026-05-23 21:07:40 +08:00
parent 9f15609afd
commit 78257097f1
11 changed files with 347 additions and 117 deletions
@@ -37,6 +37,17 @@ func (s *Service) PublishOptions() (*PublishOptionsDTO, error) {
return &options, nil
}
func (s *Service) SalePriceConfig() (*PublishSalePriceConfig, error) {
if s.repo == nil {
return nil, ErrDependencyUnavailable
}
config, err := s.salePriceConfig()
if err != nil {
return nil, err
}
return &config, nil
}
func (s *Service) publishOptions() (PublishOptionsDTO, error) {
value, err := s.repo.FindValue(publishOptionsConfigKey)
if err != nil {
@@ -50,6 +61,19 @@ func (s *Service) publishOptions() (PublishOptionsDTO, error) {
return options, nil
}
func (s *Service) salePriceConfig() (PublishSalePriceConfig, error) {
value, err := s.repo.FindValue(salePriceConfigKey)
if err != nil {
return PublishSalePriceConfig{}, err
}
config := DefaultSalePriceConfig()
if err := json.Unmarshal([]byte(value), &config); err != nil {
config = DefaultSalePriceConfig()
}
normalizeSalePriceConfig(&config)
return config, nil
}
func (s *Service) HomeAnnouncements() (*HomeAnnouncementsDTO, error) {
if s.repo == nil {
return nil, ErrDependencyUnavailable
@@ -214,10 +238,14 @@ func normalizePublishOptions(options *PublishOptionsDTO) {
if len(options.RatioConfig.CoinCorrections) == 0 {
options.RatioConfig.CoinCorrections = defaults.RatioConfig.CoinCorrections
}
if len(options.SalePriceConfig.FixedMarkupRules) == 0 {
options.SalePriceConfig.FixedMarkupRules = defaults.SalePriceConfig.FixedMarkupRules
}
func normalizeSalePriceConfig(config *PublishSalePriceConfig) {
defaults := DefaultSalePriceConfig()
if len(config.FixedMarkupRules) == 0 {
config.FixedMarkupRules = defaults.FixedMarkupRules
}
if len(options.SalePriceConfig.RatioAdjustmentRules) == 0 {
options.SalePriceConfig.RatioAdjustmentRules = defaults.SalePriceConfig.RatioAdjustmentRules
if len(config.RatioAdjustmentRules) == 0 {
config.RatioAdjustmentRules = defaults.RatioAdjustmentRules
}
}