From 2bd82ead971615103d7a67f8309055e6d131cf6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?piexlMax=28=E5=A5=87=E6=B7=BC?= Date: Thu, 15 May 2025 18:40:57 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E6=90=9C=E7=B4=A2=E5=8A=9F=E8=83=BD):?= =?UTF-8?q?=20=E4=BC=98=E5=8C=96=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BD=BF=E7=94=A8?= =?UTF-8?q?`createdAtRange`=E6=9B=BF=E4=BB=A3`startCreatedAt`=E5=92=8C`end?= =?UTF-8?q?CreatedAt`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将时间范围搜索逻辑从`startCreatedAt`和`endCreatedAt`改为`createdAtRange`,简化代码并提高可维护性。同时更新了相关模板文件和验证规则,确保前后端一致性和用户体验的连贯性。 --- server/model/system/request/sys_auto_code.go | 2 +- .../server/model/request/request.go.tpl | 5 +- .../package/server/service/service.go.tpl | 4 +- .../resource/package/web/view/table.vue.tpl | 45 +++++---------- .../server/model/request/request.go.tpl | 7 +-- .../plugin/server/service/service.go.tpl | 4 +- server/resource/plugin/web/view/view.vue.tpl | 44 +++++---------- server/utils/autocode/template_funcs.go | 56 ++++++++++--------- 8 files changed, 68 insertions(+), 99 deletions(-) diff --git a/server/model/system/request/sys_auto_code.go b/server/model/system/request/sys_auto_code.go index b18a4d6b..368ae801 100644 --- a/server/model/system/request/sys_auto_code.go +++ b/server/model/system/request/sys_auto_code.go @@ -158,7 +158,7 @@ func (r *AutoCode) Pretreatment() error { r.NeedJSON = true case "time.Time": r.HasTimer = true - if r.Fields[i].FieldSearchType != "" { + if r.Fields[i].FieldSearchType != "" && r.Fields[i].FieldSearchType != "BETWEEN" && r.Fields[i].FieldSearchType != "NOT BETWEEN" { r.HasSearchTimer = true } } diff --git a/server/resource/package/server/model/request/request.go.tpl b/server/resource/package/server/model/request/request.go.tpl index 44ba2dea..31990320 100644 --- a/server/resource/package/server/model/request/request.go.tpl +++ b/server/resource/package/server/model/request/request.go.tpl @@ -15,15 +15,14 @@ package request import ( {{- if not .OnlyTemplate }} "{{.Module}}/model/common/request" - {{ if or .HasSearchTimer .GvaModel}}"time"{{ end }} + {{ if .HasSearchTimer}}"time"{{ end }} {{- end }} ) type {{.StructName}}Search struct{ {{- if not .OnlyTemplate}} {{- if .GvaModel }} - StartCreatedAt *time.Time `json:"startCreatedAt" form:"startCreatedAt"` - EndCreatedAt *time.Time `json:"endCreatedAt" form:"endCreatedAt"` + CreatedAtRange []string `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 7533c576..077b3b21 100644 --- a/server/resource/package/server/service/service.go.tpl +++ b/server/resource/package/server/service/service.go.tpl @@ -148,8 +148,8 @@ func ({{.Abbreviation}}Service *{{.StructName}}Service)Get{{.StructName}}InfoLis var {{.Abbreviation}}s []{{.Package}}.{{.StructName}} // 如果有条件搜索 下方会自动创建搜索语句 {{- if .GvaModel }} - if info.StartCreatedAt !=nil && info.EndCreatedAt !=nil { - db = db.Where("created_at BETWEEN ? AND ?", info.StartCreatedAt, info.EndCreatedAt) + if info.CreatedAtRange !=nil && len(info.CreatedAtRange) == 2 { + db = db.Where("created_at BETWEEN ? AND ?", info.CreatedAtRange[0], info.CreatedAtRange[1]) } {{- end }} {{ GenerateSearchConditions .Fields }} diff --git a/server/resource/package/web/view/table.vue.tpl b/server/resource/package/web/view/table.vue.tpl index 60019d83..e96cb0a6 100644 --- a/server/resource/package/web/view/table.vue.tpl +++ b/server/resource/package/web/view/table.vue.tpl @@ -98,7 +98,7 @@ getDataSourceFunc()