Commit b0fae6b3 by luxl Committed by GitHub

绘图列表更新

parent df5a3e68
...@@ -148,7 +148,16 @@ func GetAllMidjourney(c *gin.Context) { ...@@ -148,7 +148,16 @@ func GetAllMidjourney(c *gin.Context) {
if p < 0 { if p < 0 {
p = 0 p = 0
} }
logs := model.GetAllTasks(p*common.ItemsPerPage, common.ItemsPerPage)
// 解析其他查询参数
queryParams := model.TaskQueryParams{
ChannelID: c.Query("channel_id"),
MjID: c.Query("mj_id"),
StartTimestamp: c.Query("start_timestamp"),
EndTimestamp: c.Query("end_timestamp"),
}
logs := model.GetAllTasks(p*common.ItemsPerPage, common.ItemsPerPage, queryParams)
if logs == nil { if logs == nil {
logs = make([]*model.Midjourney, 0) logs = make([]*model.Midjourney, 0)
} }
...@@ -164,9 +173,17 @@ func GetUserMidjourney(c *gin.Context) { ...@@ -164,9 +173,17 @@ func GetUserMidjourney(c *gin.Context) {
if p < 0 { if p < 0 {
p = 0 p = 0
} }
userId := c.GetInt("id") userId := c.GetInt("id")
log.Printf("userId = %d \n", userId) log.Printf("userId = %d \n", userId)
logs := model.GetAllUserTask(userId, p*common.ItemsPerPage, common.ItemsPerPage)
queryParams := model.TaskQueryParams{
MjID: c.Query("mj_id"),
StartTimestamp: c.Query("start_timestamp"),
EndTimestamp: c.Query("end_timestamp"),
}
logs := model.GetAllUserTask(userId, p*common.ItemsPerPage, common.ItemsPerPage, queryParams)
if logs == nil { if logs == nil {
logs = make([]*model.Midjourney, 0) logs = make([]*model.Midjourney, 0)
} }
......
...@@ -22,29 +22,68 @@ type Midjourney struct { ...@@ -22,29 +22,68 @@ type Midjourney struct {
ChannelId int `json:"channel_id"` ChannelId int `json:"channel_id"`
} }
func GetAllUserTask(userId int, startIdx int, num int) []*Midjourney { // 用于包含所有搜索条件的结构体,可以根据需求添加更多字段
type TaskQueryParams struct {
ChannelID string
MjID string
StartTimestamp string
EndTimestamp string
}
func GetAllUserTask(userId int, startIdx int, num int, queryParams TaskQueryParams) []*Midjourney {
var tasks []*Midjourney var tasks []*Midjourney
var err error var err error
err = DB.Where("user_id = ?", userId).Order("id desc").Limit(num).Offset(startIdx).Find(&tasks).Error
// 初始化查询构建器
query := DB.Where("user_id = ?", userId)
if queryParams.MjID != "" {
query = query.Where("mj_id = ?", queryParams.MjID)
}
if queryParams.StartTimestamp != "" {
// 假设您已将前端传来的时间戳转换为数据库所需的时间格式,并处理了时间戳的验证和解析
query = query.Where("submit_time >= ?", queryParams.StartTimestamp)
}
if queryParams.EndTimestamp != "" {
query = query.Where("submit_time <= ?", queryParams.EndTimestamp)
}
// 获取数据
err = query.Order("id desc").Limit(num).Offset(startIdx).Find(&tasks).Error
if err != nil { if err != nil {
return nil return nil
} }
for _, task := range tasks {
task.ImageUrl = common.ServerAddress + "/mj/image/" + task.MjId
}
return tasks return tasks
} }
func GetAllTasks(startIdx int, num int) []*Midjourney { func GetAllTasks(startIdx int, num int, queryParams TaskQueryParams) []*Midjourney {
var tasks []*Midjourney var tasks []*Midjourney
var err error var err error
err = DB.Order("id desc").Limit(num).Offset(startIdx).Find(&tasks).Error
// 初始化查询构建器
query := DB
// 添加过滤条件
if queryParams.ChannelID != "" {
query = query.Where("channel_id = ?", queryParams.ChannelID)
}
if queryParams.MjID != "" {
query = query.Where("mj_id = ?", queryParams.MjID)
}
if queryParams.StartTimestamp != "" {
query = query.Where("submit_time >= ?", queryParams.StartTimestamp)
}
if queryParams.EndTimestamp != "" {
query = query.Where("submit_time <= ?", queryParams.EndTimestamp)
}
// 获取数据
err = query.Order("id desc").Limit(num).Offset(startIdx).Find(&tasks).Error
if err != nil { if err != nil {
return nil return nil
} }
for _, task := range tasks {
task.ImageUrl = common.ServerAddress + "/mj/image/" + task.MjId
}
return tasks return tasks
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment