Przeglądaj źródła

fix(account): 只保留 sub_msg → remark,其余回退

alphah 1 tydzień temu
rodzic
commit
8f71ae9242

+ 4 - 4
backend/app/plugin/module_payment/account/service.py

@@ -1118,7 +1118,7 @@ class AccountService:
 
 
     # ─────────── 退避时间映射 ───────────
-    _RETRY_INTERVALS = [10, 30, 60]  # 分钟: retry_count 0→1, 1→2, 2→3, 3 判 FAIL
+    _RETRY_INTERVALS = [5, 10, 30, 60]  # 分钟: retry_count 0→1, 1→2, 2→3, 3 判 FAIL
 
     @classmethod
     async def retry_dealing_transfers(cls) -> dict:
@@ -1188,16 +1188,16 @@ class AccountService:
                                 pass
                         else:
                             if retry_count < 3:
-                                interval = cls._RETRY_INTERVALS[retry_count]
+                                accumulated = sum(cls._RETRY_INTERVALS[:retry_count + 2])
                                 transfer.retry_count = retry_count + 1
-                                transfer.next_retry_at = datetime.now() + timedelta(minutes=interval)
+                                transfer.next_retry_at = transfer.created_time + timedelta(minutes=accumulated)
                                 log.info(f"[重试任务] out_biz_no={out_biz_no}, retry={retry_count+1}/4, result=DEALING, 下次={transfer.next_retry_at}")
                                 processed += 1
                             else:
                                 transfer.status = TransferStatusEnum.FAIL.value
                                 transfer.retry_count = 4
                                 transfer.next_retry_at = None
-                                transfer.remark = "反查超时判定为失败"
+                                transfer.error_msg = "反查超时判定为失败"
                                 processed += 1
                                 log.info(f"[重试任务] out_biz_no={out_biz_no}, retry=4/4次DEALING, 超时判FAIL")
                                 try: