31 lines
1.2 KiB
Go
31 lines
1.2 KiB
Go
package gormx
|
|
|
|
import (
|
|
"time"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type Common struct {
|
|
// gorm.Model
|
|
Id int64 `json:"id" gorm:"column:id;auto_increment;primary_key;comment:主键"`
|
|
CreateTime int64 `json:"create_time" binding:"-" gorm:"type:bigint unsigned;column:create_time;default:0;not null;autoCreateTime:milli;comment:创建时间"`
|
|
UpdateTime int64 `json:"update_time" binding:"-" gorm:"type:bigint unsigned;column:update_time;default:0;not null;autoCreateTime:milli;autoUpdateTime:milli;comment:更新时间"`
|
|
// DeletedAt *time.Time `json:"delete_time" binding:"-" gorm:"index;type:bigint unsigned;column:delete_time;default:0;not null;comment:删除时间"`
|
|
DeleteTime DeleteTime `json:"delete_time" binding:"-" gorm:"index;type:bigint unsigned;column:delete_time;default:0;not null;comment:删除时间"`
|
|
// DeleteTime sql.NullInt64 `json:"delete_time" gorm:"index;type:bigint unsigned;column:delete_time;default:0;not null;comment:删除时间"`
|
|
}
|
|
|
|
func (u *Common) BeforeCreate(tx *gorm.DB) (err error) {
|
|
u.CreateTime = time.Now().UnixMilli()
|
|
u.UpdateTime = time.Now().UnixMilli()
|
|
return
|
|
}
|
|
|
|
func (c *Common) BeforeUpdate(tx *gorm.DB) (err error) {
|
|
c.UpdateTime = time.Now().UnixMilli()
|
|
return
|
|
}
|
|
|
|
// Unscoped() 会忽略默认的软删除条件
|