Compare commits

..

No commits in common. "30766b6c88fa8daca219a7f0c66f9b5f619b4826" and "1e65451da4e97d77dc072113e2d1aab06fda80c0" have entirely different histories.

View File

@ -617,9 +617,7 @@ order by b.enabled_date desc"""
continue continue
f = d.fields.get(k) f = d.fields.get(k)
if not f: if not f:
e = f'定价项({i})中的{k}在fields中没有定义' continue # 非字段key(如value_mode等控制参数),跳过
exception(f'{e}')
raise Exception(e)
data_value = config_data.get(k) data_value = config_data.get(k)
data_value = data_mapping(d, k, data_value) data_value = data_mapping(d, k, data_value)
if data_value is None: if data_value is None:
@ -646,7 +644,6 @@ order by b.enabled_date desc"""
if 'unit_prices' in filter_item: if 'unit_prices' in filter_item:
continue # tiered定价项,不在此处检查 continue # tiered定价项,不在此处检查
item_ok = True item_ok = True
item_value_mode = filter_item.get('value_mode')
for fk, fv in filter_item.items(): for fk, fv in filter_item.items():
if fk in ('unit_prices', 'value_mode'): if fk in ('unit_prices', 'value_mode'):
continue continue
@ -658,7 +655,7 @@ order by b.enabled_date desc"""
if data_value is None: if data_value is None:
continue # 数据中没有该键,视为匹配 continue # 数据中没有该键,视为匹配
try: try:
flg = check_value(f, fv, data_value, item_value_mode) flg = check_value(f, fv, data_value)
if not flg: if not flg:
item_ok = False item_ok = False
break break
@ -686,7 +683,6 @@ order by b.enabled_date desc"""
# 处理 filters 中的区间定价(查找匹配的 unit_prices) # 处理 filters 中的区间定价(查找匹配的 unit_prices)
if 'filters' in p: if 'filters' in p:
for filter_item in p['filters']: for filter_item in p['filters']:
item_value_mode = filter_item.get('value_mode')
for fk, fv in filter_item.items(): for fk, fv in filter_item.items():
if fk in ('unit_prices', 'value_mode'): if fk in ('unit_prices', 'value_mode'):
continue continue
@ -698,7 +694,7 @@ order by b.enabled_date desc"""
if data_value is None: if data_value is None:
continue continue
try: try:
flg = check_value(f, fv, data_value, item_value_mode) flg = check_value(f, fv, data_value)
if flg and 'unit_prices' in filter_item: if flg and 'unit_prices' in filter_item:
unit_price = filter_item['unit_prices'] unit_price = filter_item['unit_prices']
except: except: