fix: filters兼容dict格式(非list),避免iter string时.get()报AttributeError

This commit is contained in:
yumoqing 2026-07-07 15:07:50 +08:00
parent a7d88309b8
commit 7029f858f9

View File

@ -621,8 +621,16 @@ order by b.enabled_date desc"""
# 检查 filters 区间条件新格式AND逻辑所有filter_item都要匹配
# 带 unit_prices 的 filter_item 是 tiered 定价,跳过(由后面第二块处理)
# 兼容两种格式list of dicts 或 dict
if p_ok and is_new_format and 'filters' in p:
for filter_item in p['filters']:
raw_filters = p['filters']
if isinstance(raw_filters, dict):
filter_items = [raw_filters]
else:
filter_items = raw_filters
for filter_item in filter_items:
if not isinstance(filter_item, dict):
continue
if 'unit_prices' in filter_item:
continue # tiered定价项不在此处检查
item_ok = True