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) {
|
||||
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
|
||||
@@ -315,14 +320,14 @@ func main() {
|
||||
idsStr[i] = strconv.FormatInt(v, 10)
|
||||
}
|
||||
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
|
||||
|
Reference in New Issue
Block a user