diff --git a/server/resource/package/server/model/request/request.go.tpl b/server/resource/package/server/model/request/request.go.tpl index 31990320..f8749f33 100644 --- a/server/resource/package/server/model/request/request.go.tpl +++ b/server/resource/package/server/model/request/request.go.tpl @@ -15,14 +15,14 @@ package request import ( {{- if not .OnlyTemplate }} "{{.Module}}/model/common/request" - {{ if .HasSearchTimer}}"time"{{ end }} + {{ if or .HasSearchTimer .GvaModel }}"time"{{ end }} {{- end }} ) type {{.StructName}}Search struct{ {{- if not .OnlyTemplate}} {{- if .GvaModel }} - CreatedAtRange []string `json:"createdAtRange" form:"createdAtRange[]"` + CreatedAtRange []time.Time `json:"createdAtRange" form:"createdAtRange[]"` {{- end }} {{- range .Fields}} {{- if ne .FieldSearchType ""}} diff --git a/server/resource/package/server/service/service.go.tpl b/server/resource/package/server/service/service.go.tpl index 077b3b21..6a199268 100644 --- a/server/resource/package/server/service/service.go.tpl +++ b/server/resource/package/server/service/service.go.tpl @@ -148,7 +148,7 @@ func ({{.Abbreviation}}Service *{{.StructName}}Service)Get{{.StructName}}InfoLis var {{.Abbreviation}}s []{{.Package}}.{{.StructName}} // 如果有条件搜索 下方会自动创建搜索语句 {{- if .GvaModel }} - if info.CreatedAtRange !=nil && len(info.CreatedAtRange) == 2 { + if len(info.CreatedAtRange) == 2 { db = db.Where("created_at BETWEEN ? AND ?", info.CreatedAtRange[0], info.CreatedAtRange[1]) } {{- end }} diff --git a/server/resource/plugin/server/model/request/request.go.tpl b/server/resource/plugin/server/model/request/request.go.tpl index 094b8bda..60cf677a 100644 --- a/server/resource/plugin/server/model/request/request.go.tpl +++ b/server/resource/plugin/server/model/request/request.go.tpl @@ -14,14 +14,14 @@ package request {{- if not .OnlyTemplate}} import ( "{{.Module}}/model/common/request" - {{ if .HasSearchTimer}}"time"{{ end }} + {{ if or .HasSearchTimer .GvaModel }}"time"{{ end }} ) {{- end}} type {{.StructName}}Search struct{ {{- if not .OnlyTemplate}} {{- if .GvaModel }} - CreatedAtRange []string `json:"createdAtRange" form:"createdAtRange[]"` + CreatedAtRange []time.Time `json:"createdAtRange" form:"createdAtRange[]"` {{- end }} {{- range .Fields}} {{- if ne .FieldSearchType ""}} diff --git a/server/resource/plugin/server/service/service.go.tpl b/server/resource/plugin/server/service/service.go.tpl index 5cfd0360..4bdcea30 100644 --- a/server/resource/plugin/server/service/service.go.tpl +++ b/server/resource/plugin/server/service/service.go.tpl @@ -155,7 +155,7 @@ func (s *{{.Abbreviation}}) Get{{.StructName}}InfoList(ctx context.Context, info var {{.Abbreviation}}s []model.{{.StructName}} // 如果有条件搜索 下方会自动创建搜索语句 {{- if .GvaModel }} - if info.CreatedAtRange !=nil && len(info.CreatedAtRange) == 2 { + if len(info.CreatedAtRange) == 2 { db = db.Where("created_at BETWEEN ? AND ?", info.CreatedAtRange[0], info.CreatedAtRange[1]) } {{- end }} diff --git a/server/utils/autocode/template_funcs.go b/server/utils/autocode/template_funcs.go index 31dd5603..1503a2a4 100644 --- a/server/utils/autocode/template_funcs.go +++ b/server/utils/autocode/template_funcs.go @@ -137,9 +137,9 @@ func GenerateSearchConditions(fields []*systemReq.AutoCodeField) string { } else if field.FieldSearchType == "BETWEEN" || field.FieldSearchType == "NOT BETWEEN" { if field.FieldType == "time.Time" { condition = fmt.Sprintf(` - if info.%sRange != nil && len(info.%sRange) == 2 { - db = db.Where("%s %s ? AND ? ", info.%sRange[0], info.%sRange[1]) - }`, + if len(info.%sRange) == 2 { + db = db.Where("%s %s ? AND ? ", info.%sRange[0], info.%sRange[1]) + }`, field.FieldName, field.FieldName, field.ColumnName, field.FieldSearchType, field.FieldName, field.FieldName) } else { condition = fmt.Sprintf(` @@ -677,7 +677,7 @@ func GenerateSearchField(field systemReq.AutoCodeField) string { // 生成范围搜索字段 // time 的情况 if field.FieldType == "time.Time" { - result = fmt.Sprintf("%sRange []string `json:\"%sRange\" form:\"%sRange[]\"`", + result = fmt.Sprintf("%sRange []time.Time `json:\"%sRange\" form:\"%sRange[]\"`", field.FieldName, field.FieldJson, field.FieldJson) } else { startField := fmt.Sprintf("Start%s *%s `json:\"start%s\" form:\"start%s\"`",