合并查询

This commit is contained in:
2023-08-13 05:48:21 +08:00
parent 0575d14494
commit 1b8321349e
10 changed files with 106 additions and 96 deletions

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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)
}