refactor: 清理冗余空字段

- 空 filters/filter_labels/formula 不返回
- min_amount=0 不返回
- 返回只保留有实际值的字段
This commit is contained in:
yumoqing 2026-06-05 18:49:51 +08:00
parent 66b4744def
commit 3ad50beda8

View File

@ -873,16 +873,16 @@ async def get_pricing_display(ppid):
'filters': meaningful_filters,
'unit_prices': raw_tier_price
})
item = {'price_factors': price_factors_display}
min_amount = p.get('min_amount', 0)
if min_amount:
item['min_amount'] = min_amount
if filters:
item['filters'] = filters
item['filter_labels'] = filter_labels
if tiered_pricing:
price_factors_display[0]['tiered'] = tiered_pricing
items.append({
'filters': filters,
'filter_labels': filter_labels,
'price_factors': price_factors_display,
'formula': '',
'min_amount': p.get('min_amount', 0)
})
item['price_factors'][0]['tiered'] = tiered_pricing
items.append(item)
else:
# 旧格式formula
price_factors = p.get('price_factors', None)
@ -902,12 +902,13 @@ async def get_pricing_display(ppid):
'unit_label': ''
})
items.append({
'filters': filters,
'filter_labels': filter_labels,
'price_factors': price_factors,
'formula': p.get('formula', '')
})
item = {'price_factors': price_factors}
if filters:
item['filters'] = filters
item['filter_labels'] = filter_labels
if p.get('formula'):
item['formula'] = p['formula']
items.append(item)
# 生成可读价格表
display_lines = [f"{getattr(r, 'name', '')}】定价:"]