|
|
@@ -828,7 +828,18 @@ class QuotaService:
|
|
|
|
|
|
if not mod_result.is_success():
|
|
|
sub_msg = getattr(mod_result, 'sub_msg', '') or ''
|
|
|
- log.error(f"支付宝接口调用失败: {mod_result.code} - {mod_result.msg}")
|
|
|
+ sub_code = getattr(mod_result, 'sub_code', '') or ''
|
|
|
+ log.error(f"支付宝接口调用失败: {mod_result.code} - {mod_result.msg} (sub_code={sub_code}, sub_msg={sub_msg})")
|
|
|
+ # 如果 Alipay 提示额度不存在,清理本地陈旧记录
|
|
|
+ if '不存在' in sub_msg or 'INVALID' in sub_code:
|
|
|
+ try:
|
|
|
+ from sqlalchemy import delete as sa_delete
|
|
|
+ del_stmt = sa_delete(QuotaModel).where(QuotaModel.quota_id == data.quota_id)
|
|
|
+ await auth.db.execute(del_stmt)
|
|
|
+ await auth.db.flush()
|
|
|
+ log.info(f"调整额度 - 支付宝侧额度不存在,已清理本地陈旧记录: quota_id={data.quota_id}")
|
|
|
+ except Exception as e:
|
|
|
+ log.warning(f"清理本地陈旧记录失败: {e}")
|
|
|
raise CustomException(msg=f"调整额度失败: {sub_msg or mod_result.msg}")
|
|
|
|
|
|
# 更新本地额度记录
|