fix(仓储): 修复 ApiKey 更新并发语义

ApiKey 更新时显式设置 updated_at 并回填,避免二次查询竞态
补充软删除范围注释以统一审计语义
This commit is contained in:
yangjianbo
2025-12-29 19:59:36 +08:00
parent 74db0c15ae
commit 042d82359c
2 changed files with 22 additions and 17 deletions

View File

@@ -289,8 +289,10 @@ func (r *groupRepository) DeleteCascade(ctx context.Context, id int64) ([]int64,
}
// 2. Clear group_id for api keys bound to this group.
// 仅更新未软删除的记录,避免修改已删除数据,保证审计与历史回溯一致性。
// 与 ApiKeyRepository 的软删除语义保持一致,减少跨模块行为差异。
if _, err := txClient.ApiKey.Update().
Where(apikey.GroupIDEQ(id)).
Where(apikey.GroupIDEQ(id), apikey.DeletedAtIsNil()).
ClearGroupID().
Save(ctx); err != nil {
return nil, err