mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-21 02:04:09 +00:00
151 lines
4.1 KiB
Plaintext
151 lines
4.1 KiB
Plaintext
package dto
|
|
|
|
import (
|
|
"errors"
|
|
vd "github.com/bytedance/go-tagexpr/v2/validator"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/go-admin-team/go-admin-core/sdk/api"
|
|
|
|
"go-admin/app/{{.PackageName}}/models"
|
|
"go-admin/common/dto"
|
|
common "go-admin/common/models"
|
|
)
|
|
|
|
type {{.ClassName}}Search struct {
|
|
dto.Pagination `search:"-" vd:"-"`
|
|
{{ $tablename := .TBName -}}
|
|
{{ range .Columns -}}
|
|
{{$z := .IsQuery}}
|
|
{{- if ($z) -}}
|
|
{{.GoField}} {{.GoType}} `form:"{{.JsonField}}" vd:"?" search:"type:{{if eq .QueryType "EQ"}}exact{{ else if eq .QueryType "NE"}}iexact{{ else if eq .QueryType "LIKE"}}contains{{ else if eq .QueryType "GT"}}gt{{ else if eq .QueryType "GTE"}}gte{{ else if eq .QueryType "LT"}}lt{{ else if eq .QueryType "LTE"}}lte{{- end }};column:{{.ColumnName}};table:{{$tablename}}" comment:"{{.ColumnComment}}"`
|
|
{{ end -}}
|
|
{{- end }}
|
|
}
|
|
|
|
func (m *{{.ClassName}}Search) GetNeedSearch() interface{} {
|
|
return *m
|
|
}
|
|
|
|
func (m *{{.ClassName}}Search) Generate() dto.Index {
|
|
o := *m
|
|
return &o
|
|
}
|
|
|
|
func (m *{{.ClassName}}Search) Bind(ctx *gin.Context) error {
|
|
log := api.GetRequestLogger(ctx)
|
|
err := ctx.ShouldBind(m)
|
|
if err != nil {
|
|
log.Errorf("ShouldBind error: %s", err.Error())
|
|
}
|
|
if err1 := vd.Validate(s); err != nil {
|
|
log.Errorf("Validate error: %s", err1.Error())
|
|
return err1
|
|
}
|
|
return err
|
|
}
|
|
|
|
type {{.ClassName}}Control struct {
|
|
{{ range .Columns -}}
|
|
{{$x := .Pk}}
|
|
{{- if ($x) }}
|
|
{{.GoField}} {{.GoType}} `uri:"{{.JsonField}}" comment:"{{.ColumnComment}}" vd:"?"` // {{.ColumnComment}}
|
|
{{- else if eq .GoField "CreatedAt" -}}
|
|
{{- else if eq .GoField "UpdatedAt" -}}
|
|
{{- else if eq .GoField "DeletedAt" -}}
|
|
{{- else if eq .GoField "CreateBy" -}}
|
|
{{- else if eq .GoField "UpdateBy" -}}
|
|
{{- else }}
|
|
{{.GoField}} {{.GoType}} `json:"{{.JsonField}}" comment:"{{.ColumnComment}}" vd:"?"`
|
|
{{end -}}
|
|
{{- end }}
|
|
}
|
|
|
|
func (s *{{.ClassName}}Control) Generate() dto.Control {
|
|
o := *s
|
|
return &o
|
|
}
|
|
|
|
func (s *{{.ClassName}}Control) Bind(ctx *gin.Context) error {
|
|
log := api.GetRequestLogger(ctx)
|
|
err := ctx.ShouldBindUri(s)
|
|
if err != nil {
|
|
log.Errorf("ShouldBindUri error: %s", err.Error())
|
|
return errors.New("数据绑定出错")
|
|
}
|
|
err = ctx.ShouldBind(s)
|
|
if err != nil {
|
|
log.Errorf("ShouldBind error: %s", err.Error())
|
|
err = errors.New("数据绑定出错")
|
|
}
|
|
if err1 := vd.Validate(s); err != nil {
|
|
log.Errorf("Validate error: %s", err1.Error())
|
|
return err1
|
|
}
|
|
return err
|
|
}
|
|
|
|
func (s *{{.ClassName}}Control) GenerateM() (common.ActiveRecord, error) {
|
|
return &models.{{.ClassName}}{
|
|
{{ range .Columns -}}
|
|
{{$x := .Pk}}
|
|
{{- if ($x) }}
|
|
Model: common.Model{ {{.GoField}}: s.{{.GoField}} },
|
|
{{- else if eq .GoField "CreatedAt" -}}
|
|
{{- else if eq .GoField "UpdatedAt" -}}
|
|
{{- else if eq .GoField "DeletedAt" -}}
|
|
{{- else if eq .GoField "CreateBy" -}}
|
|
{{- else if eq .GoField "UpdateBy" -}}
|
|
{{- else }}
|
|
{{.GoField}}: s.{{.GoField}},
|
|
{{- end }}
|
|
{{- end }}
|
|
}, nil
|
|
}
|
|
|
|
func (s *{{.ClassName}}Control) GetId() interface{} {
|
|
return s.{{.PkGoField}}
|
|
}
|
|
|
|
type {{.ClassName}}ById struct {
|
|
dto.ObjectById
|
|
}
|
|
|
|
func (s *{{.ClassName}}ById) GetId() interface{} {
|
|
if len(s.Ids) > 0 {
|
|
s.Ids = append(s.Ids, s.Id)
|
|
return s.Ids
|
|
}
|
|
return s.Id
|
|
}
|
|
|
|
func (s *{{.ClassName}}ById) Bind(ctx *gin.Context) error {
|
|
log := api.GetRequestLogger(ctx)
|
|
err := ctx.ShouldBindUri(s)
|
|
if err != nil {
|
|
log.Errorf("ShouldBindUri error: %s", err.Error())
|
|
return errors.New("数据绑定出错")
|
|
}
|
|
err = ctx.ShouldBind(s)
|
|
if err != nil {
|
|
log.Errorf("ShouldBind error: %s", err.Error())
|
|
err = errors.New("数据绑定出错")
|
|
}
|
|
if err1 := vd.Validate(s); err != nil {
|
|
log.Errorf("Validate error: %s", err1.Error())
|
|
return err1
|
|
}
|
|
return err
|
|
}
|
|
|
|
func (s *{{.ClassName}}ById) SetUpdateBy(id int) {
|
|
|
|
}
|
|
|
|
func (s *{{.ClassName}}ById) Generate() dto.Control {
|
|
o := *s
|
|
return &o
|
|
}
|
|
|
|
func (s *{{.ClassName}}ById) GenerateM() (common.ActiveRecord, error) {
|
|
return &models.{{.ClassName}}{}, nil
|
|
} |