Skip to content

Commit b731b9d

Browse files
pixelmaxQmhang666
andauthored
fix: 修正搜索时间范围传入ISO8601字符串导致MySQL查询出错,并优化nil切片len检查(S1009) (#2027)
* fix: 修正搜索时间范围传入ISO8601字符串导致MySQL查询出错,并优化nil切片len检查(S1009) (#2026) * fix:时间范围修改接受参数 --------- Co-authored-by: hang666 <44329474+hang666@users.noreply.github.com>
1 parent 1f3a8ea commit b731b9d

File tree

5 files changed

+10
-10
lines changed

5 files changed

+10
-10
lines changed

server/resource/package/server/model/request/request.go.tpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ package request
1515
import (
1616
{{- if not .OnlyTemplate }}
1717
"{{.Module}}/model/common/request"
18-
{{ if .HasSearchTimer}}"time"{{ end }}
18+
{{ if or .HasSearchTimer .GvaModel }}"time"{{ end }}
1919
{{- end }}
2020
)
2121

2222
type {{.StructName}}Search struct{
2323
{{- if not .OnlyTemplate}}
2424
{{- if .GvaModel }}
25-
CreatedAtRange []string `json:"createdAtRange" form:"createdAtRange[]"`
25+
CreatedAtRange []time.Time `json:"createdAtRange" form:"createdAtRange[]"`
2626
{{- end }}
2727
{{- range .Fields}}
2828
{{- if ne .FieldSearchType ""}}

server/resource/package/server/service/service.go.tpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ func ({{.Abbreviation}}Service *{{.StructName}}Service)Get{{.StructName}}InfoLis
148148
var {{.Abbreviation}}s []{{.Package}}.{{.StructName}}
149149
// 如果有条件搜索 下方会自动创建搜索语句
150150
{{- if .GvaModel }}
151-
if info.CreatedAtRange !=nil && len(info.CreatedAtRange) == 2 {
151+
if len(info.CreatedAtRange) == 2 {
152152
db = db.Where("created_at BETWEEN ? AND ?", info.CreatedAtRange[0], info.CreatedAtRange[1])
153153
}
154154
{{- end }}

server/resource/plugin/server/model/request/request.go.tpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ package request
1414
{{- if not .OnlyTemplate}}
1515
import (
1616
"{{.Module}}/model/common/request"
17-
{{ if .HasSearchTimer}}"time"{{ end }}
17+
{{ if or .HasSearchTimer .GvaModel }}"time"{{ end }}
1818
)
1919
{{- end}}
2020
type {{.StructName}}Search struct{
2121
{{- if not .OnlyTemplate}}
2222

2323
{{- if .GvaModel }}
24-
CreatedAtRange []string `json:"createdAtRange" form:"createdAtRange[]"`
24+
CreatedAtRange []time.Time `json:"createdAtRange" form:"createdAtRange[]"`
2525
{{- end }}
2626
{{- range .Fields}}
2727
{{- if ne .FieldSearchType ""}}

server/resource/plugin/server/service/service.go.tpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ func (s *{{.Abbreviation}}) Get{{.StructName}}InfoList(ctx context.Context, info
155155
var {{.Abbreviation}}s []model.{{.StructName}}
156156
// 如果有条件搜索 下方会自动创建搜索语句
157157
{{- if .GvaModel }}
158-
if info.CreatedAtRange !=nil && len(info.CreatedAtRange) == 2 {
158+
if len(info.CreatedAtRange) == 2 {
159159
db = db.Where("created_at BETWEEN ? AND ?", info.CreatedAtRange[0], info.CreatedAtRange[1])
160160
}
161161
{{- end }}

server/utils/autocode/template_funcs.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,9 @@ func GenerateSearchConditions(fields []*systemReq.AutoCodeField) string {
137137
} else if field.FieldSearchType == "BETWEEN" || field.FieldSearchType == "NOT BETWEEN" {
138138
if field.FieldType == "time.Time" {
139139
condition = fmt.Sprintf(`
140-
if info.%sRange != nil && len(info.%sRange) == 2 {
141-
db = db.Where("%s %s ? AND ? ", info.%sRange[0], info.%sRange[1])
142-
}`,
140+
if len(info.%sRange) == 2 {
141+
db = db.Where("%s %s ? AND ? ", info.%sRange[0], info.%sRange[1])
142+
}`,
143143
field.FieldName, field.FieldName, field.ColumnName, field.FieldSearchType, field.FieldName, field.FieldName)
144144
} else {
145145
condition = fmt.Sprintf(`
@@ -677,7 +677,7 @@ func GenerateSearchField(field systemReq.AutoCodeField) string {
677677
// 生成范围搜索字段
678678
// time 的情况
679679
if field.FieldType == "time.Time" {
680-
result = fmt.Sprintf("%sRange []string `json:\"%sRange\" form:\"%sRange[]\"`",
680+
result = fmt.Sprintf("%sRange []time.Time `json:\"%sRange\" form:\"%sRange[]\"`",
681681
field.FieldName, field.FieldJson, field.FieldJson)
682682
} else {
683683
startField := fmt.Sprintf("Start%s *%s `json:\"start%s\" form:\"start%s\"`",

0 commit comments

Comments
 (0)