refactor(backend): reorganize file handling logic by introducing services package for file operations and updating controller references

This commit is contained in:
keven1024
2025-04-28 20:28:23 +08:00
parent ea998b7d34
commit 54a0179ef1
3 changed files with 13 additions and 15 deletions

View File

@@ -2,7 +2,7 @@ package controllers
import (
"backend/internal/models"
"backend/internal/service"
"backend/internal/services"
"backend/internal/utils"
"crypto/md5"
"encoding/json"
@@ -26,7 +26,7 @@ func CreateUploadTask(c echo.Context) error {
return utils.HTTPErrorHandler(c, errors.New("上传文件信息不完整"))
}
rdb, ctx := utils.GetRedisClient()
fileId := service.GetFileId(r.FileHash, r.FileSize)
fileId := utils.GetFileId(r.FileHash, r.FileSize)
fileInfo, _ := models.GetRedisFileInfo(fileId)
if fileInfo != (models.RedisFileInfo{}) {
@@ -104,7 +104,7 @@ func UploadFileSlice(c echo.Context) error {
fmt.Printf("hash: %s\n", hashString)
if err := service.CreateFileSlice(file, r.FileId, r.FileIndex); err != nil {
if err := services.CreateFileSlice(file, r.FileId, r.FileIndex); err != nil {
return utils.HTTPErrorHandler(c, err)
}
@@ -135,15 +135,14 @@ func FinishUploadTask(c echo.Context) error {
if fileInfo.FileType != models.FileTypeInit {
return utils.HTTPErrorHandler(c, errors.New("上传任务状态错误"))
}
// 合并文件切片
if err := service.MergeFileSlices(r.FileId); err != nil {
if err := services.MergeFileSlices(r.FileId); err != nil {
return utils.HTTPErrorHandler(c, err)
}
// 更新文件状态
// fileInfo.FileType = models.FileTypeComplete
if err := service.MergeFileSlices(r.FileId); err != nil {
if err := services.MergeFileSlices(r.FileId); err != nil {
return utils.HTTPErrorHandler(c, err)
}

View File

@@ -1,4 +1,4 @@
package service
package services
import (
"fmt"
@@ -8,10 +8,6 @@ import (
"strconv"
)
func GetFileInfo() {
}
func GetUploadDirPath() (string, error) {
basepath, err := os.Getwd()
if err != nil {
@@ -24,10 +20,6 @@ func GetUploadDirPath() (string, error) {
return finalPath, nil
}
func GetFileId(fileHash string, fileSize int64) string {
return fmt.Sprintf("%s_%d", fileHash, fileSize)
}
func CreateFileSlice(fileSlice io.Reader, fileId string, fileIndex int64) error {
uploadPath, err := GetUploadDirPath()
if err != nil {

View File

@@ -0,0 +1,7 @@
package utils
import "fmt"
func GetFileId(fileHash string, fileSize int64) string {
return fmt.Sprintf("%s_%d", fileHash, fileSize)
}