refactor(idgen): centralize negative ID handling via panic

Restore NextUint64ID() to uint64-only API so callers need no error
checks. Retry logic stays in idgen; after 3 negative values it panics
instead of returning 0, preventing silent NULL primary keys.
This commit is contained in:
ryan
2026-06-17 13:14:17 +08:00
parent 92dc6a59c0
commit 3a05e7f09c
11 changed files with 17 additions and 68 deletions
+2 -10
View File
@@ -140,11 +140,7 @@ func UploadFile(c *gin.Context) {
return
}
id, err := idgen.NextUint64ID()
if err != nil {
c.JSON(http.StatusOK, response.Err(ErrSaveUploadRecordFailed))
return
}
id := idgen.NextUint64ID()
subPath := fmt.Sprintf("uploads/%s/%d.%s", time.Now().Format("2006/01/02"), id, ext)
// 8. 写入当前活动存储驱动。
@@ -376,11 +372,7 @@ func tryInstantUpload(ctx context.Context, c *gin.Context, currUser *model.User,
return true, nil
}
id, err := idgen.NextUint64ID()
if err != nil {
c.JSON(http.StatusOK, response.Err(ErrSaveUploadRecordFailed))
return true, err
}
id := idgen.NextUint64ID()
newUpload := model.Upload{
ID: id,
UserID: currUser.ID,