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() }