From 28c7726ff9040c9ac72fe69782387dd0d1977568 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Wed, 16 Sep 2026 14:21:10 +0800 Subject: [PATCH] =?UTF-8?q?fix(accounting):=20note=E5=88=97CONCAT=E5=89=8D?= =?UTF-8?q?LEFT(200)=E9=99=90=E9=95=BF=E2=80=94=E2=80=94=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E9=87=8D=E8=AF=95=E8=BD=AEnote=E5=B7=B2=E5=86=99~185=E5=AD=97?= =?UTF-8?q?=E7=AC=A6(=E5=87=BA=E8=B4=A6=E5=BC=82=E5=B8=B8=E9=95=BF?= =?UTF-8?q?=E6=96=87=E6=A1=88),=E5=87=BA=E8=B4=A6=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E5=86=8DCONCAT'|accounted:'+orderid=E7=9B=B4=E6=8E=A51406?= =?UTF-8?q?=E6=BA=A2=E5=87=BA=E2=86=92=E5=BC=82=E5=B8=B8=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E5=9B=9E=E5=86=99failed=E2=86=92'=E4=BF=AE=E5=A5=BD=E5=AE=9A?= =?UTF-8?q?=E4=BB=B7=E4=B9=9F=E6=B0=B8=E8=BF=9C=E5=87=BA=E4=B8=8D=E4=BA=86?= =?UTF-8?q?=E8=B4=A6'=E6=AD=BB=E5=BE=AA=E7=8E=AF(2026-09-16=20qwen-image-3?= =?UTF-8?q?.0-pro=2039=E7=AC=94=E5=AE=9E=E6=B5=8B:=E9=92=B1=E5=8C=85?= =?UTF-8?q?=E5=B7=B2=E6=89=A3+=E5=AE=A2=E6=88=B7=E8=B4=A6=E5=B7=B2?= =?UTF-8?q?=E8=AE=B0=E4=BD=86=E6=B5=81=E6=B0=B4=E7=8A=B6=E6=80=81=E7=BD=AE?= =?UTF-8?q?failed,=E9=87=8D=E8=B7=91=E9=9D=A0=E5=B9=82=E7=AD=89=E5=AE=88?= =?UTF-8?q?=E5=8D=AB=E6=89=8D=E5=AE=89=E5=85=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pipeline_llm/accounting.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pipeline_llm/accounting.py b/pipeline_llm/accounting.py index 5ba1b86..3eac9e0 100644 --- a/pipeline_llm/accounting.py +++ b/pipeline_llm/accounting.py @@ -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],