wx-server/internal/dao/file.go

38 lines
988 B
Go
Raw Permalink Normal View History

2024-06-04 21:22:50 +08:00
package dao
import (
"gorm.io/gorm"
)
type File struct {
BaseModel
UUID string `gorm:"unique;type varchar(32);comment:'文件UUID'"`
UserId int32 `gorm:"comment:'上传者ID'"`
FileName string `gorm:"type:varchar(255);comment:'文件名称'"`
FileSize uint32 `gorm:"comment:'文件大小'"`
FileType string `gorm:"comment:'文件类型对应html中支持的Content-Type类型'"`
FileContent []byte `gorm:"type:mediumblob;comment:'文件内容目前最大为16M'"`
}
func File_Insert(data *File) (uint64, error) {
if err := s.db.Create(data).Error; err != nil {
return 0, err
}
return uint64(data.ID), nil
}
func File_Query(uuid string) (*File, error) {
var data File
if err := s.db.Where("uuid = ?", uuid).First(&data).Error; err != nil {
if err == gorm.ErrRecordNotFound {
return nil, nil
}
return nil, err
}
return &data, nil
}
func File_Delete(uuid string) error {
return s.db.Where("uuid = ?", uuid).Delete(&File{}).Error
}