accounting/wwwroot/credit_limit/update_credit_limit.dspy
Hermes Agent 03bf5fcde0 fix: 修复datetime.now()错误 - dspy预加载datetime模块非datetime.datetime
- set_customer_credit.dspy: datetime.now() → datetime.datetime.now()
- add_credit_limit.dspy: 删除import, 用datetime.datetime.now()
- update_credit_limit.dspy: 删除import, 用datetime.datetime.now()
2026-06-24 12:07:19 +08:00

47 lines
1.1 KiB
Plaintext

ns = params_kw.copy()
for k,v in ns.items():
if v == 'NaN' or v == 'null':
ns[k] = None
# Recalculate available_credit when credit_limit changes
if 'credit_limit' in ns and ns['credit_limit'] is not None:
credit_limit_val = float(ns['credit_limit'])
# Get current used_credit from DB
db = DBPools()
dbname = get_module_dbname('accounting')
async with db.sqlorContext(dbname) as sor:
recs = await sor.R('credit_limit', {'id': ns['id']})
if len(recs) > 0:
used = float(recs[0].get('used_credit', 0))
ns['available_credit'] = credit_limit_val - used
ns['updated_at'] = datetime.datetime.now()
db = DBPools()
dbname = get_module_dbname('accounting')
async with db.sqlorContext(dbname) as sor:
r = await sor.U('credit_limit', ns)
debug('update credit_limit success')
return {
"widgettype":"Message",
"options":{
"title":"信用额度更新成功",
"cwidth":16,
"cheight":9,
"timeout":3,
"message":"ok"
}
}
return {
"widgettype":"Error",
"options":{
"title":"更新失败",
"cwidth":16,
"cheight":9,
"timeout":3,
"message":"failed"
}
}