fix: 今日订单配置保存兜底;企微客服缺表返回明确提示
This commit is contained in:
1 parent
98c7b0886b
commit
bc4e41f54a
3 files changed
+163
-95
No files matched your search
@@ -82,12 +82,39 @@ def config_to_dict(row: TodayOrderShowConfig | None) -> dict:
|
||||
|
||||
def save_config(club_id: str, data: dict) -> dict:
|
||||
row = get_or_create_config(club_id)
|
||||
|
||||
def _as_bool(v):
|
||||
if isinstance(v, bool):
|
||||
return v
|
||||
if isinstance(v, (int, float)):
|
||||
return bool(v)
|
||||
if isinstance(v, (list, tuple)):
|
||||
v = v[-1] if v else False
|
||||
s = str(v or '').strip().lower()
|
||||
if s in ('1', 'true', 'yes', 'on'):
|
||||
return True
|
||||
if s in ('0', 'false', 'no', 'off', ''):
|
||||
return False
|
||||
return bool(v)
|
||||
|
||||
def _as_int(v, default):
|
||||
if isinstance(v, (list, tuple)):
|
||||
v = v[-1] if v else default
|
||||
if v is None or v == '':
|
||||
return default
|
||||
try:
|
||||
return int(float(v))
|
||||
except (TypeError, ValueError):
|
||||
return default
|
||||
|
||||
if 'mix_enabled' in data:
|
||||
row.mix_enabled = bool(data.get('mix_enabled'))
|
||||
if 'batch_size' in data and data.get('batch_size') is not None:
|
||||
row.batch_size = max(0, min(500, int(data.get('batch_size') or 0)))
|
||||
if 'interval_seconds' in data and data.get('interval_seconds') is not None:
|
||||
row.interval_seconds = max(1, min(86400, int(data.get('interval_seconds') or 120)))
|
||||
row.mix_enabled = _as_bool(data.get('mix_enabled'))
|
||||
if 'batch_size' in data and data.get('batch_size') is not None and data.get('batch_size') != '':
|
||||
row.batch_size = max(0, min(500, _as_int(data.get('batch_size'), row.batch_size or 5)))
|
||||
if 'interval_seconds' in data and data.get('interval_seconds') is not None and data.get('interval_seconds') != '':
|
||||
row.interval_seconds = max(
|
||||
1, min(86400, _as_int(data.get('interval_seconds'), row.interval_seconds or 120)),
|
||||
)
|
||||
row.save()
|
||||
return config_to_dict(row)
|
||||
|
||||
|
||||
Reference in new issue
Block a user