1234567891011121314151617181920212223242526272829303132333435 |
- package models
- import (
- "passport/client/mysql"
- "passport/pkg/ierr"
- )
- type File struct {
- Url string `json:"url" gorm:"url;type:varchar(512);NOT NULL"` // URL地址
- Name string `json:"name" gorm:"name;type:varchar(128);NOT NULL"` // 文件名
- Path string `json:"path" gorm:"path;type:varchar(128);NOT NULL"` // 存储的路径
- Size int64 `json:"size" gorm:"size;NOT NULL"` // 文件大小
- Ext string `json:"ext" gorm:"ext;type:varchar(16);NOT NULL"` // 文件后缀
- UserId string `json:"user_id" gorm:"user_id;type:varchar(20);NOT NULL;index:idx_user_id"` // 上传的用户id
- CommonField
- }
- func (f *File) TableName() string {
- return "file"
- }
- func (f *File) Save() error {
- if f.Name == "" {
- return ierr.NewIError(ierr.InvalidFilename, "invalid file name")
- }
- if f.UserId == "" {
- return ierr.NewIError(ierr.InvalidUserId, "invalid user id")
- }
- var err = mysql.Client.Master().Save(f).Error
- if err != nil {
- return ierr.NewIError(ierr.CreateDataFail, err.Error())
- }
- return nil
- }
|