package FileManagement import ( "ColdVerify_server/lib" "ColdVerify_server/logs" "time" "github.com/beego/beego/v2/adapter/orm" ) type FileManagement struct { Id int `orm:"column(ID);size(11);auto;pk"` FileName string `orm:"column(file_name);size(256);null"` FilePath string `orm:"column(file_path);size(512);null"` CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"` } type FileManagementR struct { Id int FileName string FilePath string CreateTime string UpdateTime string } func (t *FileManagement) TableName() string { return "file_management" } func init() { orm.RegisterModel(new(FileManagement)) } func ToFileManagementR(f FileManagement) FileManagementR { return FileManagementR{ Id: f.Id, FileName: f.FileName, FilePath: f.FilePath, CreateTime: f.CreateTime.Format("2006-01-02 15:04:05"), UpdateTime: f.UpdateTime.Format("2006-01-02 15:04:05"), } } func AddFileManagement(f FileManagement) (int64, bool) { o := orm.NewOrm() id, err := o.Insert(&f) if err != nil { logs.Error(lib.FuncName(), err) return 0, false } return id, true } func UpdateFileManagement(f FileManagement, cols ...string) bool { o := orm.NewOrm() if num, err := o.Update(&f, cols...); err == nil { logs.Println("Number of records updated in database:", num) return true } return false } func DeleteFileManagement(f FileManagement) bool { o := orm.NewOrm() if num, err := o.Delete(&f); err == nil { logs.Println("Number of records deleted in database:", num) return true } return false } func ReadFileManagementById(id int) (FileManagement, bool) { o := orm.NewOrm() f := FileManagement{Id: id} if err := o.Read(&f); err != nil { logs.Error(lib.FuncName(), err) return FileManagement{}, false } return f, true } func ReadFileManagementList(fileName string, page, pageSize int) ([]FileManagementR, int64) { o := orm.NewOrm() var list []FileManagement qs := o.QueryTable(new(FileManagement)) if page <= 0 { page = 1 } if pageSize <= 0 { pageSize = 10 } offset := (page - 1) * pageSize if len(fileName) > 0 { qs = qs.Filter("file_name__icontains", fileName) } qs.Limit(pageSize, offset).OrderBy("-Id").All(&list) cnt, _ := qs.Count() result := make([]FileManagementR, 0, len(list)) for _, f := range list { result = append(result, ToFileManagementR(f)) } return result, cnt }