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