Refactor query conditions to improve readability
and maintainability.
This commit is contained in:
19
bin/main.go
19
bin/main.go
@@ -292,7 +292,12 @@ func main() {
|
|||||||
// 拼接查询条件, 超级简洁写法
|
// 拼接查询条件, 超级简洁写法
|
||||||
var addCondition = func(conditions *strings.Builder, key, column string) {
|
var addCondition = func(conditions *strings.Builder, key, column string) {
|
||||||
if values := QueryConditions(key); len(values) > 0 {
|
if values := QueryConditions(key); len(values) > 0 {
|
||||||
conditions.WriteString(fmt.Sprintf(" AND %s IN (%s)", column, strings.Join(values, ",")))
|
if conditions.Len() > 0 {
|
||||||
|
conditions.WriteString(" AND")
|
||||||
|
} else {
|
||||||
|
conditions.WriteString(" WHERE")
|
||||||
|
}
|
||||||
|
conditions.WriteString(fmt.Sprintf(" %s IN (%s)", column, strings.Join(values, ",")))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var conditions strings.Builder
|
var conditions strings.Builder
|
||||||
@@ -315,14 +320,14 @@ func main() {
|
|||||||
idsStr[i] = strconv.FormatInt(v, 10)
|
idsStr[i] = strconv.FormatInt(v, 10)
|
||||||
}
|
}
|
||||||
if len(idsStr) > 0 {
|
if len(idsStr) > 0 {
|
||||||
conditions.WriteString(fmt.Sprintf(" AND id IN (%s)", strings.Join(idsStr, ","))) // 拼接查询条件
|
if conditions.Len() > 0 {
|
||||||
|
conditions.WriteString(" AND")
|
||||||
|
} else {
|
||||||
|
conditions.WriteString(" WHERE")
|
||||||
|
}
|
||||||
|
conditions.WriteString(fmt.Sprintf(" id IN (%s)", strings.Join(idsStr, ","))) // 拼接查询条件
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if conditions.Len() > 0 {
|
|
||||||
conditionsStr := conditions.String()
|
|
||||||
conditionsStr = strings.Replace(conditionsStr, " AND", "", 1) // 去掉第一个 AND
|
|
||||||
conditionsStr = " WHERE" + conditionsStr // 拼接 WHERE
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取图片列表
|
// 获取图片列表
|
||||||
var images ListView
|
var images ListView
|
||||||
|
Reference in New Issue
Block a user