fix(accounting): note列CONCAT前LEFT(200)限长——失败重试轮note已写~185字符(出账异常长文案),出账成功再CONCAT'|accounted:'+orderid直接1406溢出→异常路径回写failed→'修好定价也永远出不了账'死循环(2026-09-16 qwen-image-3.0-pro 39笔实测:钱包已扣+客户账已记但流水状态置failed,重跑靠幂等守卫才安全)
This commit is contained in:
parent
e7a5d43bd4
commit
28c7726ff9
@ -193,9 +193,13 @@ async def _settle_one(sor, row):
|
||||
supplier_cost = float((result or {}).get('supplier_cost', 0) or 0)
|
||||
await _deduct_wallet(sor, row, supplier_cost)
|
||||
# 回填客户应付 + 成本侧金额 + 置已出账
|
||||
# ⚠ note=varchar(200):CONCAT 前必须限长——失败重试轮曾把 note 写到 ~185 字符
|
||||
# (出账异常长文案),出账成功再 CONCAT '|accounted:'+orderid 直接 1406 溢出 →
|
||||
# 异常回写 failed → 「修好定价也永远出不了账」死循环(2026-09-16 qwen-image-3.0-pro
|
||||
# 39 笔实测)。LEFT(...,200) 保底:宁可截尾巴也不让成功账落不下。
|
||||
await sor.sqlExe(
|
||||
"UPDATE llm_usage SET charge=${c}$, cost=${k}$, accounting_status='accounted', "
|
||||
"note=CONCAT(COALESCE(note,''),'|accounted:',${o}$) WHERE id=${i}$",
|
||||
"note=LEFT(CONCAT(COALESCE(note,''),'|accounted:',${o}$),200) WHERE id=${i}$",
|
||||
{"c": float((result or {}).get('customer_amount', 0) or 0),
|
||||
"k": round(supplier_cost, 6),
|
||||
"o": str((result or {}).get('orderid', ''))[:40],
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user