package system import ( "server/global" "server/model/system" "server/model/system/request" "time" ) type FileService struct{} func (fileService *FileService) GetFileInfoList(info request.SearchAppFileParams) (list interface{}, total int64, err error) { limit := info.PageInfo.PageSize offset := info.PageInfo.PageSize * (info.PageInfo.Page - 1) db := global.GVA_DB.Model(&system.File{}) var fileList []system.File if info.File.OriginalName != "" { db = db.Where("original_name like ?", "%"+info.File.OriginalName+"%") } if info.File.CategoryName != "" { db = db.Where("category_name = ?", info.File.CategoryName) } var niltime *time.Time if info.File.UploadTime != niltime { db = db.Where("Date(upload_time) = ?", info.File.UploadTime) } err = db.Where("is_deleted", 0).Count(&total).Error if err != nil { return } err = db.Limit(limit).Offset(offset).Preload("SysUser").Where("is_deleted = 0").Order("upload_time DESC").Find(&fileList).Error return fileList, total, err } func (fileService *FileService) Upload(f system.File) (err error) { //var file system.File //if !errors.Is(global.GVA_DB.Where("encrypted_name = ?", f.EncryptedName).First(&file).Error, gorm.ErrRecordNotFound) { // return errors.New("该文件已存在") //} err = global.GVA_DB.Create(&f).Error return err } func (fileService *FileService) SetFileInfo(req system.File) (err error) { return global.GVA_DB.Model(&system.File{}). Select("category_name", "auth_id"). Where("id=?", req.ID). Updates(map[string]interface{}{ "category_name": req.CategoryName, "auth_id": req.AuthId, }).Error } func (fileService *FileService) DeleteFile(id int) error { err := global.GVA_DB.Model(&system.File{}). Where("id=?", id). Updates(map[string]interface{}{"is_deleted": "1"}).Error return err } func (fileService *FileService) Distribute(userfile []request.UserFile) error { err := global.GVA_DB.Model(&request.UserFile{}).Create(&userfile).Error return err } func (fileService *FileService) View(id int) (*system.File, error) { var file system.File err := global.GVA_DB.Model(&system.File{}).Where("id=?", id).First(&file).Error return &file, err }