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>
This commit is contained in:
PiexlMax(奇淼
2025-05-17 15:41:37 +08:00
committed by GitHub
parent 1f3a8ea2eb
commit b731b9df78
5 changed files with 10 additions and 10 deletions

View File

@@ -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\"`",