fix: 套餐购买系统修复 - 事务安全、购买记录、前端错误处理
- 新增 PackageOrder 模型,记录每次套餐购买的详细信息 - 将套餐扣费和充值操作改为数据库事务(原子操作),防止部分失败导致数据不一致 - 使用行级锁(FOR UPDATE)确保并发安全 - 添加 ErrInsufficientQuota 哨兵错误,提升错误处理可靠性 - 购买成功后记录操作日志(RecordLog) - 前端 Packages.jsx 增加失败时的错误提示 - 分站模型管理和设置页面小幅修正 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
41d199625f
commit
914ddf0a26
25 files changed
+30
-25
No files matched your search
@@ -42,8 +42,13 @@ export default function Packages() {
|
||||
setConfirmPkg(null);
|
||||
// Refresh user data to update balance
|
||||
await refreshUser();
|
||||
} else {
|
||||
// Non-2xx with success=false handled by interceptor, but handle edge case
|
||||
toast.error(res.data.message || t('common.requestFailed'));
|
||||
}
|
||||
} catch (e) { /* interceptor */ }
|
||||
} catch (e) {
|
||||
// Error already shown by axios interceptor
|
||||
}
|
||||
setSubscribing(null);
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user