diff --git a/pricing/pricing.py b/pricing/pricing.py index 73253e6..e64abdc 100644 --- a/pricing/pricing.py +++ b/pricing/pricing.py @@ -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', '')}】定价:"]