mirror of
https://github.com/QuantumNous/new-api.git
synced 2026-04-24 04:28:37 +00:00
93 lines
2.1 KiB
Go
93 lines
2.1 KiB
Go
package controller
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"log"
|
|
"one-api/common"
|
|
"one-api/constant"
|
|
"one-api/model"
|
|
"strconv"
|
|
"time"
|
|
)
|
|
|
|
func UpdateTaskBulk() {
|
|
//revocer
|
|
//imageModel := "midjourney"
|
|
for {
|
|
time.Sleep(time.Duration(15) * time.Second)
|
|
common.SysLog("任务进度轮询开始")
|
|
allTasks := model.GetAllUnFinishSyncTasks(500)
|
|
platformTask := make(map[constant.TaskPlatform][]*model.Task)
|
|
for _, t := range allTasks {
|
|
platformTask[t.Platform] = append(platformTask[t.Platform], t)
|
|
}
|
|
for platform, tasks := range platformTask {
|
|
UpdateTaskByPlatform(platform, tasks)
|
|
}
|
|
common.SysLog("任务进度轮询完成")
|
|
}
|
|
}
|
|
|
|
func GetAllMidjourney(c *gin.Context) {
|
|
p, _ := strconv.Atoi(c.Query("p"))
|
|
if p < 0 {
|
|
p = 0
|
|
}
|
|
|
|
// 解析其他查询参数
|
|
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 {
|
|
logs = make([]*model.Midjourney, 0)
|
|
}
|
|
if constant.MjForwardUrlEnabled {
|
|
for i, midjourney := range logs {
|
|
midjourney.ImageUrl = constant.ServerAddress + "/mj/image/" + midjourney.MjId
|
|
logs[i] = midjourney
|
|
}
|
|
}
|
|
c.JSON(200, gin.H{
|
|
"success": true,
|
|
"message": "",
|
|
"data": logs,
|
|
})
|
|
}
|
|
|
|
func GetUserMidjourney(c *gin.Context) {
|
|
p, _ := strconv.Atoi(c.Query("p"))
|
|
if p < 0 {
|
|
p = 0
|
|
}
|
|
|
|
userId := c.GetInt("id")
|
|
log.Printf("userId = %d \n", userId)
|
|
|
|
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 {
|
|
logs = make([]*model.Midjourney, 0)
|
|
}
|
|
if constant.MjForwardUrlEnabled {
|
|
for i, midjourney := range logs {
|
|
midjourney.ImageUrl = constant.ServerAddress + "/mj/image/" + midjourney.MjId
|
|
logs[i] = midjourney
|
|
}
|
|
}
|
|
c.JSON(200, gin.H{
|
|
"success": true,
|
|
"message": "",
|
|
"data": logs,
|
|
})
|
|
}
|