You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.8 KiB
Smarty
60 lines
1.8 KiB
Smarty
2 years ago
|
package {{.pkg}}
|
||
|
{{if .withCache}}
|
||
|
import (
|
||
|
"github.com/zeromicro/go-zero/core/stores/cache"
|
||
|
"gorm.io/gorm"
|
||
|
{{ if or (.gormCreatedAt) (.gormUpdatedAt) }} "time" {{ end }}
|
||
|
)
|
||
|
{{else}}
|
||
|
import (
|
||
|
"gorm.io/gorm"
|
||
|
{{ if or (.gormCreatedAt) (.gormUpdatedAt) }} "time" {{ end }}
|
||
|
)
|
||
|
{{end}}
|
||
|
var _ {{.upperStartCamelObject}}Model = (*custom{{.upperStartCamelObject}}Model)(nil)
|
||
|
|
||
|
type (
|
||
|
// {{.upperStartCamelObject}}Model is an interface to be customized, add more methods here,
|
||
|
// and implement the added methods in custom{{.upperStartCamelObject}}Model.
|
||
|
{{.upperStartCamelObject}}Model interface {
|
||
|
{{.lowerStartCamelObject}}Model
|
||
|
custom{{.upperStartCamelObject}}LogicModel
|
||
|
}
|
||
|
|
||
|
custom{{.upperStartCamelObject}}Model struct {
|
||
|
*default{{.upperStartCamelObject}}Model
|
||
|
}
|
||
|
|
||
|
custom{{.upperStartCamelObject}}LogicModel interface {
|
||
|
}
|
||
|
)
|
||
|
{{ if or (.gormCreatedAt) (.gormUpdatedAt) }}
|
||
|
// BeforeCreate hook create time
|
||
|
func (s *{{.upperStartCamelObject}}) BeforeCreate(tx *gorm.DB) error {
|
||
|
now := time.Now()
|
||
|
{{ if .gormCreatedAt }}s.CreatedAt = now{{ end }}
|
||
|
{{ if .gormUpdatedAt}}s.UpdatedAt = now{{ end }}
|
||
|
return nil
|
||
|
}
|
||
|
{{ end }}
|
||
|
{{ if .gormUpdatedAt}}
|
||
|
// BeforeUpdate hook update time
|
||
|
func (s *{{.upperStartCamelObject}}) BeforeUpdate(tx *gorm.DB) error {
|
||
|
s.UpdatedAt = time.Now()
|
||
|
return nil
|
||
|
}
|
||
|
{{ end }}
|
||
|
|
||
|
// New{{.upperStartCamelObject}}Model returns a model for the database table.
|
||
|
func New{{.upperStartCamelObject}}Model(conn *gorm.DB{{if .withCache}}, c cache.CacheConf{{end}}) {{.upperStartCamelObject}}Model {
|
||
|
return &custom{{.upperStartCamelObject}}Model{
|
||
|
default{{.upperStartCamelObject}}Model: new{{.upperStartCamelObject}}Model(conn{{if .withCache}}, c{{end}}),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (m *default{{.upperStartCamelObject}}Model) customCacheKeys(data *{{.upperStartCamelObject}}) []string {
|
||
|
if data == nil {
|
||
|
return []string{}
|
||
|
}
|
||
|
return []string{}
|
||
|
}
|