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