app_file.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package system
  2. import (
  3. "server/global"
  4. "server/model/system"
  5. "server/model/system/request"
  6. "time"
  7. )
  8. type FileService struct{}
  9. func (fileService *FileService) GetFileInfoList(info request.SearchAppFileParams) (list interface{}, total int64, err error) {
  10. limit := info.PageInfo.PageSize
  11. offset := info.PageInfo.PageSize * (info.PageInfo.Page - 1)
  12. db := global.GVA_DB.Model(&system.File{})
  13. var fileList []system.File
  14. if info.File.OriginalName != "" {
  15. db = db.Where("original_name like ?", "%"+info.File.OriginalName+"%")
  16. }
  17. if info.File.CategoryName != "" {
  18. db = db.Where("category_name = ?", info.File.CategoryName)
  19. }
  20. var niltime *time.Time
  21. if info.File.UploadTime != niltime {
  22. db = db.Where("Date(upload_time) = ?", info.File.UploadTime)
  23. }
  24. err = db.Where("is_deleted", 0).Count(&total).Error
  25. if err != nil {
  26. return
  27. }
  28. err = db.Limit(limit).Offset(offset).Preload("SysUser").Where("is_deleted = 0").Order("upload_time DESC").Find(&fileList).Error
  29. return fileList, total, err
  30. }
  31. func (fileService *FileService) Upload(f system.File) (err error) {
  32. //var file system.File
  33. //if !errors.Is(global.GVA_DB.Where("encrypted_name = ?", f.EncryptedName).First(&file).Error, gorm.ErrRecordNotFound) {
  34. // return errors.New("该文件已存在")
  35. //}
  36. err = global.GVA_DB.Create(&f).Error
  37. return err
  38. }
  39. func (fileService *FileService) SetFileInfo(req system.File) (err error) {
  40. return global.GVA_DB.Model(&system.File{}).
  41. Select("category_name", "auth_id").
  42. Where("id=?", req.ID).
  43. Updates(map[string]interface{}{
  44. "category_name": req.CategoryName,
  45. "auth_id": req.AuthId,
  46. }).Error
  47. }
  48. func (fileService *FileService) DeleteFile(id int) error {
  49. err := global.GVA_DB.Model(&system.File{}).
  50. Where("id=?", id).
  51. Updates(map[string]interface{}{"is_deleted": "1"}).Error
  52. return err
  53. }
  54. func (fileService *FileService) Distribute(userfile []request.UserFile) error {
  55. err := global.GVA_DB.Model(&request.UserFile{}).Create(&userfile).Error
  56. return err
  57. }
  58. func (fileService *FileService) View(id int) (*system.File, error) {
  59. var file system.File
  60. err := global.GVA_DB.Model(&system.File{}).Where("id=?", id).First(&file).Error
  61. return &file, err
  62. }