model.go.tpl 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // 自动生成模板{{.StructName}}
  2. package model
  3. import (
  4. "gin-vue-admin/global"
  5. )
  6. // 如果含有time.Time 请自行import time包
  7. type {{.StructName}} struct {
  8. global.GVA_MODEL {{- range .Fields}}
  9. {{- if eq .FieldType "bool" }}
  10. {{.FieldName}} *{{.FieldType}} `json:"{{.FieldJson}}" form:"{{.FieldJson}}" gorm:"column:{{.ColumnName}};comment:{{.Comment}}{{- if .DataType -}};type:{{.DataType}}{{- if eq .FieldType "string" -}}{{- if .DataTypeLong -}}({{.DataTypeLong}}){{- end -}}{{- end -}};{{- if .DataTypeLong -}}size:{{.DataTypeLong}};{{- end -}}{{- end -}}"`
  11. {{- else }}
  12. {{.FieldName}} {{.FieldType}} `json:"{{.FieldJson}}" form:"{{.FieldJson}}" gorm:"column:{{.ColumnName}};comment:{{.Comment}}{{- if .DataType -}};type:{{.DataType}}{{- if eq .FieldType "string" -}}{{- if .DataTypeLong -}}({{.DataTypeLong}}){{- end -}}{{- end -}};{{- if .DataTypeLong -}}size:{{.DataTypeLong}};{{- end -}}{{- end -}}"`
  13. {{- end }} {{- end }}
  14. }
  15. {{ if .TableName }}
  16. func ({{.StructName}}) TableName() string {
  17. return "{{.TableName}}"
  18. }
  19. {{ end }}
  20. // 如果使用工作流功能 需要打开下方注释 并到initialize的workflow中进行注册 且必须指定TableName
  21. // type {{.StructName}}Workflow struct {
  22. // // 工作流操作结构体
  23. // WorkflowBase `json:"wf"`
  24. // {{.StructName}} `json:"business"`
  25. // }
  26. // func ({{.StructName}}) TableName() string {
  27. // return "{{.TableName}}"
  28. // }
  29. // 工作流注册代码
  30. // initWorkflowModel内部注册
  31. // model.WorkflowBusinessStruct["{{.Abbreviation}}"] = func() model.GVA_Workflow {
  32. // return new(model.{{.StructName}}Workflow)
  33. // }
  34. // initWorkflowTable内部注册
  35. // model.WorkflowBusinessTable["{{.Abbreviation}}"] = func() interface{} {
  36. // return new(model.{{.StructName}})
  37. // }