切换批次和文件的 ID 类型为 UUID,更新相关逻辑和文档
This commit is contained in:
@@ -103,6 +103,11 @@ func (h *PickupHandler) Pickup(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
if batch.Type == "text" {
|
||||
h.batchService.IncrementDownloadCount(batch.ID)
|
||||
batch.DownloadCount++
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, model.SuccessResponse(PickupResponse{
|
||||
Remark: batch.Remark,
|
||||
ExpireAt: batch.ExpireAt,
|
||||
@@ -119,24 +124,23 @@ func (h *PickupHandler) Pickup(c *gin.Context) {
|
||||
// @Summary 下载单个文件
|
||||
// @Description 根据文件 ID 下载单个文件
|
||||
// @Tags Public
|
||||
// @Param file_id path int true "文件 ID"
|
||||
// @Param file_id path string true "文件 ID (UUID)"
|
||||
// @Produce application/octet-stream
|
||||
// @Success 200 {file} file
|
||||
// @Failure 404 {object} model.Response
|
||||
// @Failure 410 {object} model.Response
|
||||
// @Router /api/files/{file_id}/download [get]
|
||||
func (h *PickupHandler) DownloadFile(c *gin.Context) {
|
||||
fileIDStr := c.Param("file_id")
|
||||
fileID, _ := strconv.ParseUint(fileIDStr, 10, 32)
|
||||
fileID := c.Param("file_id")
|
||||
|
||||
var item model.FileItem
|
||||
if err := bootstrap.DB.First(&item, fileID).Error; err != nil {
|
||||
if err := bootstrap.DB.First(&item, "id = ?", fileID).Error; err != nil {
|
||||
c.JSON(http.StatusNotFound, model.ErrorResponse(model.CodeNotFound, "file not found"))
|
||||
return
|
||||
}
|
||||
|
||||
var batch model.FileBatch
|
||||
if err := bootstrap.DB.First(&batch, item.BatchID).Error; err != nil {
|
||||
if err := bootstrap.DB.First(&batch, "id = ?", item.BatchID).Error; err != nil {
|
||||
c.JSON(http.StatusNotFound, model.ErrorResponse(model.CodeNotFound, "batch not found"))
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user