内部加价分离, 不展示
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user