48 lines
1.1 KiB
Go
48 lines
1.1 KiB
Go
package service
|
|
|
|
import (
|
|
"mime/multipart"
|
|
"yitao/ecode"
|
|
"yitao/model"
|
|
"yitao/util"
|
|
)
|
|
|
|
type FileService struct{}
|
|
|
|
// UploadItemImg 上传商品图片
|
|
func (s *FileService) UploadItemImg(header *multipart.FileHeader) (*model.FileModel, *ecode.Ecode) {
|
|
file := new(model.FileModel)
|
|
file.Type = model.FileTypeItemImg
|
|
file.Name = header.Filename
|
|
file.Key = util.RandString(12)
|
|
file.Size = header.Size
|
|
file.State = model.FileStateNormal
|
|
file.Url = "/upload/item/img/" + file.Key + ".jpg"
|
|
file.SystemPath = "./public" + file.Url
|
|
model.DB.Create(file)
|
|
|
|
return file, ecode.OK()
|
|
}
|
|
|
|
// 设置文件状态
|
|
func (s *FileService) SetFileState(id uint, status string) *ecode.Ecode {
|
|
file := new(model.FileModel)
|
|
model.DB.First(file, id)
|
|
if file.ID == 0 {
|
|
return ecode.File(ecode.FILE_NOT_FOUND)
|
|
}
|
|
file.State = status
|
|
model.DB.Save(file)
|
|
return ecode.OK()
|
|
}
|
|
|
|
// 获取文件Id
|
|
func (s *FileService) GetFileId(key string) (uint, *ecode.Ecode) {
|
|
file := new(model.FileModel)
|
|
model.DB.Where("`key`=?", key).Where("status=?", model.FileStateNormal).First(file)
|
|
if file.ID == 0 {
|
|
return 0, ecode.File(ecode.FILE_NOT_FOUND)
|
|
}
|
|
return file.ID, ecode.OK()
|
|
}
|