| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package controller
- import (
- "strconv"
- "github.com/QuantumNous/new-api/common"
- "github.com/QuantumNous/new-api/constant"
- "github.com/QuantumNous/new-api/dto"
- "github.com/QuantumNous/new-api/model"
- "github.com/QuantumNous/new-api/relay"
- "github.com/QuantumNous/new-api/service"
- "github.com/gin-gonic/gin"
- )
- // UpdateTaskBulk 薄入口,实际轮询逻辑在 service 层
- func UpdateTaskBulk() {
- service.TaskPollingLoop()
- }
- func GetAllTask(c *gin.Context) {
- pageInfo := common.GetPageQuery(c)
- startTimestamp, _ := strconv.ParseInt(c.Query("start_timestamp"), 10, 64)
- endTimestamp, _ := strconv.ParseInt(c.Query("end_timestamp"), 10, 64)
- // 解析其他查询参数
- queryParams := model.SyncTaskQueryParams{
- Platform: constant.TaskPlatform(c.Query("platform")),
- TaskID: c.Query("task_id"),
- Status: c.Query("status"),
- Action: c.Query("action"),
- StartTimestamp: startTimestamp,
- EndTimestamp: endTimestamp,
- ChannelID: c.Query("channel_id"),
- }
- items := model.TaskGetAllTasks(pageInfo.GetStartIdx(), pageInfo.GetPageSize(), queryParams)
- total := model.TaskCountAllTasks(queryParams)
- pageInfo.SetTotal(int(total))
- pageInfo.SetItems(tasksToDto(items))
- common.ApiSuccess(c, pageInfo)
- }
- func GetUserTask(c *gin.Context) {
- pageInfo := common.GetPageQuery(c)
- userId := c.GetInt("id")
- startTimestamp, _ := strconv.ParseInt(c.Query("start_timestamp"), 10, 64)
- endTimestamp, _ := strconv.ParseInt(c.Query("end_timestamp"), 10, 64)
- queryParams := model.SyncTaskQueryParams{
- Platform: constant.TaskPlatform(c.Query("platform")),
- TaskID: c.Query("task_id"),
- Status: c.Query("status"),
- Action: c.Query("action"),
- StartTimestamp: startTimestamp,
- EndTimestamp: endTimestamp,
- }
- items := model.TaskGetAllUserTask(userId, pageInfo.GetStartIdx(), pageInfo.GetPageSize(), queryParams)
- total := model.TaskCountAllUserTask(userId, queryParams)
- pageInfo.SetTotal(int(total))
- pageInfo.SetItems(tasksToDto(items))
- common.ApiSuccess(c, pageInfo)
- }
- func tasksToDto(tasks []*model.Task) []*dto.TaskDto {
- result := make([]*dto.TaskDto, len(tasks))
- for i, task := range tasks {
- result[i] = relay.TaskModel2Dto(task)
- }
- return result
- }
|