| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package system
- import (
- "errors"
- "gorm.io/gorm"
- "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
- }
|