合并查询
This commit is contained in:
		@@ -21,14 +21,13 @@ func DatasetsGet(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	listview.PageSize = utils.ParamInt(r.URL.Query().Get("pageSize"), 10)
 | 
			
		||||
	var dataset_list []models.Dataset
 | 
			
		||||
	db := configs.ORMDB()
 | 
			
		||||
	db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&dataset_list)
 | 
			
		||||
	db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&dataset_list).Count(&listview.Total)
 | 
			
		||||
	for _, dataset := range dataset_list {
 | 
			
		||||
		if dataset.Images == nil {
 | 
			
		||||
			dataset.Images = models.ImageList{}
 | 
			
		||||
		}
 | 
			
		||||
		listview.List = append(listview.List, dataset)
 | 
			
		||||
	}
 | 
			
		||||
	db.Model(&models.Dataset{}).Count(&listview.Total)
 | 
			
		||||
	listview.List = dataset_list
 | 
			
		||||
	listview.Next = listview.Page*listview.PageSize < int(listview.Total)
 | 
			
		||||
	listview.WriteJSON(w)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -116,14 +116,16 @@ func ImagesGet(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
		db = db.Where("id IN (?)", list)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&image_list)
 | 
			
		||||
	db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&image_list).Count(&listview.Total)
 | 
			
		||||
	for _, image := range image_list {
 | 
			
		||||
		image.User = models.User{ID: image.UserID}
 | 
			
		||||
		listview.List = append(listview.List, image)
 | 
			
		||||
		db.First(&image.User)
 | 
			
		||||
		if image.Preview == "" {
 | 
			
		||||
			image.Preview = "https://image.gameuiux.cn/2023/06/27/1687851028u=3116699095,2862677591&fm=253&fmt=auto&app=120&f=JPEG.webp"
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	db.Model(&models.Image{}).Count(&listview.Total)
 | 
			
		||||
 | 
			
		||||
	listview.List = image_list
 | 
			
		||||
	listview.Next = listview.Page*listview.PageSize < int(listview.Total)
 | 
			
		||||
	listview.WriteJSON(w)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -142,12 +142,12 @@ func ModelsGet(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
		db = db.Where("id IN (?)", list)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&model_list)
 | 
			
		||||
	db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&model_list).Count(&listview.Total)
 | 
			
		||||
	for _, model := range model_list {
 | 
			
		||||
		model.User = models.User{ID: model.UserID}
 | 
			
		||||
		listview.List = append(listview.List, model)
 | 
			
		||||
		db.Take(&model.User)
 | 
			
		||||
	}
 | 
			
		||||
	db.Model(&models.Model{}).Count(&listview.Total)
 | 
			
		||||
	listview.List = model_list
 | 
			
		||||
	listview.Next = listview.Page*listview.PageSize < int(listview.Total)
 | 
			
		||||
	listview.WriteJSON(w)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,8 @@ func ParamsListGet(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	item["id"] = "model"
 | 
			
		||||
	item["name"] = "模型"
 | 
			
		||||
 | 
			
		||||
	listview.List = append(listview.List, item)
 | 
			
		||||
	//listview.List = append(listview.List, item)
 | 
			
		||||
	listview.List = []interface{}{item}
 | 
			
		||||
	listview.Total = 1
 | 
			
		||||
	listview.Page = 1
 | 
			
		||||
	listview.PageSize = 10
 | 
			
		||||
 
 | 
			
		||||
@@ -38,8 +38,9 @@ func ServersGet(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
		//	}
 | 
			
		||||
		//	server.Models = models
 | 
			
		||||
		//}
 | 
			
		||||
		listview.List = append(listview.List, server)
 | 
			
		||||
		//listview.List = append(listview.List, server)
 | 
			
		||||
	}
 | 
			
		||||
	listview.List = server_list
 | 
			
		||||
	listview.Next = listview.Page*listview.PageSize < int(listview.Total)
 | 
			
		||||
	listview.WriteJSON(w)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -20,11 +20,8 @@ func SessionsGet(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	listview.PageSize = utils.ParamInt(r.URL.Query().Get("pageSize"), 10)
 | 
			
		||||
	var session_list []models.Session
 | 
			
		||||
	db := configs.ORMDB()
 | 
			
		||||
	db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&session_list)
 | 
			
		||||
	for _, session := range session_list {
 | 
			
		||||
		listview.List = append(listview.List, session)
 | 
			
		||||
	}
 | 
			
		||||
	db.Model(&models.Session{}).Count(&listview.Total)
 | 
			
		||||
	db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&session_list).Count(&listview.Total)
 | 
			
		||||
	listview.List = session_list
 | 
			
		||||
	listview.Next = listview.Page*listview.PageSize < int(listview.Total)
 | 
			
		||||
	listview.WriteJSON(w)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -19,11 +19,8 @@ func TagsGet(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	listview.PageSize = utils.ParamInt(r.URL.Query().Get("pageSize"), 10)
 | 
			
		||||
	var tag_list []models.Tag
 | 
			
		||||
	db := configs.ORMDB()
 | 
			
		||||
	db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&tag_list)
 | 
			
		||||
	for _, tag := range tag_list {
 | 
			
		||||
		listview.List = append(listview.List, tag)
 | 
			
		||||
	}
 | 
			
		||||
	db.Model(&models.Tag{}).Count(&listview.Total)
 | 
			
		||||
	db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&tag_list).Count(&listview.Total)
 | 
			
		||||
	listview.List = tag_list
 | 
			
		||||
	listview.Next = listview.Page*listview.PageSize < int(listview.Total)
 | 
			
		||||
	listview.WriteJSON(w)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -20,11 +20,8 @@ func UsersGet(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	listview.PageSize = utils.ParamInt(r.URL.Query().Get("pageSize"), 10)
 | 
			
		||||
	var user_list []models.User
 | 
			
		||||
	db := configs.ORMDB()
 | 
			
		||||
	db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&user_list)
 | 
			
		||||
	for _, user := range user_list {
 | 
			
		||||
		listview.List = append(listview.List, user)
 | 
			
		||||
	}
 | 
			
		||||
	db.Model(&models.User{}).Count(&listview.Total)
 | 
			
		||||
	db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&user_list).Count(&listview.Total)
 | 
			
		||||
	listview.List = user_list
 | 
			
		||||
	listview.Next = listview.Page*listview.PageSize < int(listview.Total)
 | 
			
		||||
	listview.WriteJSON(w)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user