修正分页
This commit is contained in:
		
							
								
								
									
										18
									
								
								bin/main.go
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								bin/main.go
									
									
									
									
									
								
							@@ -281,11 +281,20 @@ func main() {
 | 
			
		||||
				id, err := strconv.Atoi(hit.(map[string]interface{})["_id"].(string))
 | 
			
		||||
				if err != nil {
 | 
			
		||||
					log.Println("strconv.Atoi failed:", err)
 | 
			
		||||
					http.Error(w, err.Error(), http.StatusBadRequest)
 | 
			
		||||
					return
 | 
			
		||||
				}
 | 
			
		||||
				text_ids = append(text_ids, id)
 | 
			
		||||
			}
 | 
			
		||||
			conditions.WriteString(fmt.Sprintf(" WHERE id IN (%s)", strings.Trim(strings.Replace(fmt.Sprint(text_ids), " ", ",", -1), "[]")))
 | 
			
		||||
			if len(text_ids) > 0 {
 | 
			
		||||
				conditions.WriteString(fmt.Sprintf(" WHERE id IN (%s)", strings.Trim(strings.Replace(fmt.Sprint(text_ids), " ", ",", -1), "[]")))
 | 
			
		||||
				fmt.Println("conditions", conditions.String())
 | 
			
		||||
			}
 | 
			
		||||
			if conditions.Len() > 1024 {
 | 
			
		||||
				log.Println("查询条件过长")
 | 
			
		||||
				http.Error(w, err.Error(), http.StatusBadRequest)
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			addCondition(&conditions, "authors", "author")
 | 
			
		||||
			addCondition(&conditions, "tags", "tag")
 | 
			
		||||
@@ -293,6 +302,8 @@ func main() {
 | 
			
		||||
			addCondition(&conditions, "sets", "sets")
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		fmt.Println("conditions", conditions.String())
 | 
			
		||||
 | 
			
		||||
		// 获取图片列表
 | 
			
		||||
		var images ListView
 | 
			
		||||
		var image_list []Image
 | 
			
		||||
@@ -329,7 +340,10 @@ func main() {
 | 
			
		||||
				conditions.WriteString(fmt.Sprintf(" id IN (%s)", strings.Join(idsStr, ","))) // 拼接查询条件
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		rows, err := mysqlConnection.Database.Query(fmt.Sprintf("SELECT id, width, height, content, update_time, create_time, user_id, article_id, article_category_top_id, praise_count, collect_count FROM web_images %s", conditions.String()))
 | 
			
		||||
		conditions.WriteString(fmt.Sprintf(" LIMIT %d, %d", (images.Page-1)*images.PageSize, images.PageSize)) // 拼接分页条件
 | 
			
		||||
		sql := fmt.Sprintf("SELECT id, width, height, content, update_time, create_time, user_id, article_id, article_category_top_id, praise_count, collect_count FROM web_images %s", conditions.String())
 | 
			
		||||
		fmt.Println("sql:", sql)
 | 
			
		||||
		rows, err := mysqlConnection.Database.Query(sql)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			log.Println("获取图片列表失败", err)
 | 
			
		||||
			http.Error(w, err.Error(), http.StatusBadRequest)
 | 
			
		||||
 
 | 
			
		||||
@@ -92,6 +92,7 @@ type User struct {
 | 
			
		||||
 | 
			
		||||
// 获取一组用户信息
 | 
			
		||||
func QueryUserList(id_list []int) (users []User) {
 | 
			
		||||
	fmt.Println("QueryUserList:", id_list)
 | 
			
		||||
	count := len(id_list)
 | 
			
		||||
	if count == 0 {
 | 
			
		||||
		return
 | 
			
		||||
@@ -106,6 +107,8 @@ func QueryUserList(id_list []int) (users []User) {
 | 
			
		||||
	for rows.Next() {
 | 
			
		||||
		var user User
 | 
			
		||||
		rows.Scan(&user.Id, &user.UserName, &user.Avatar, &user.UpdateTime, &user.CreateTime)
 | 
			
		||||
		user.UpdateTime = user.UpdateTime.UTC()
 | 
			
		||||
		user.CreateTime = user.CreateTime.UTC()
 | 
			
		||||
		users = append(users, user)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
@@ -121,12 +124,13 @@ type Article struct {
 | 
			
		||||
 | 
			
		||||
// 获取一组文章信息
 | 
			
		||||
func QueryArticleList(id_list []int) (articles []Article) {
 | 
			
		||||
	fmt.Println("QueryArticleList:", id_list)
 | 
			
		||||
	count := len(id_list)
 | 
			
		||||
	if count == 0 {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	idstr := strings.Trim(strings.Replace(fmt.Sprint(id_list), " ", ",", -1), "[]")
 | 
			
		||||
	rows, err := connection.Query("SELECT id, title, tags, update_time, create_time FROM web_article WHERE id IN (" + idstr + ")")
 | 
			
		||||
	rows, err := connection.Query("SELECT id, title, tags, update_time, create_time FROM web_article WHERE id IN (" + idstr + ") LIMIT " + strconv.Itoa(count))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Println("获取文章列表失败", err)
 | 
			
		||||
		return
 | 
			
		||||
@@ -135,6 +139,8 @@ func QueryArticleList(id_list []int) (articles []Article) {
 | 
			
		||||
	for rows.Next() {
 | 
			
		||||
		var article Article
 | 
			
		||||
		rows.Scan(&article.Id, &article.Title, &article.Tags, &article.UpdateTime, &article.CreateTime)
 | 
			
		||||
		article.UpdateTime = article.UpdateTime.UTC()
 | 
			
		||||
		article.CreateTime = article.CreateTime.UTC()
 | 
			
		||||
		articles = append(articles, article)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user