Files
mayfly-go/server/pkg/model/model.go

56 lines
1.2 KiB
Go
Raw Normal View History

2021-01-08 15:37:32 +08:00
package model
2020-09-01 10:34:11 +08:00
import (
"time"
)
const (
IdColumn = "id"
DeletedColumn = "is_deleted" // 删除字段
DeleteTimeColumn = "delete_time"
ModelDeleted int8 = 1
ModelUndeleted int8 = 0
)
// 含有删除字段模型
type DeletedModel struct {
2021-04-16 15:10:07 +08:00
Id uint64 `json:"id"`
IsDeleted int8 `json:"-"`
DeleteTime *time.Time `json:"-"`
}
// 基础实体模型,数据表最基础字段,每张表必备字段
type Model struct {
DeletedModel
2021-04-16 15:10:07 +08:00
CreateTime *time.Time `json:"createTime"`
CreatorId uint64 `json:"creatorId"`
Creator string `json:"creator"`
UpdateTime *time.Time `json:"updateTime"`
ModifierId uint64 `json:"modifierId"`
Modifier string `json:"modifier"`
2021-01-08 15:37:32 +08:00
}
// 设置基础信息. 如创建时间,修改时间,创建者,修改者信息
2021-04-16 15:10:07 +08:00
func (m *Model) SetBaseInfo(account *LoginAccount) {
2021-01-08 15:37:32 +08:00
nowTime := time.Now()
isCreate := m.Id == 0
if isCreate {
m.IsDeleted = ModelUndeleted
2021-01-08 15:37:32 +08:00
m.CreateTime = &nowTime
}
m.UpdateTime = &nowTime
if account == nil {
return
}
id := account.Id
name := account.Username
if isCreate {
m.CreatorId = id
m.Creator = name
}
m.Modifier = name
m.ModifierId = id
2020-09-01 10:34:11 +08:00
}