| 126 | } |
| 127 | |
| 128 | func TaskGetAllTasks(startIdx int, num int, queryParams SyncTaskQueryParams) []*Task { |
| 129 | var tasks []*Task |
| 130 | var err error |
| 131 | |
| 132 | // 初始化查询构建器 |
| 133 | query := DB |
| 134 | |
| 135 | // 添加过滤条件 |
| 136 | if queryParams.ChannelID != "" { |
| 137 | query = query.Where("channel_id = ?", queryParams.ChannelID) |
| 138 | } |
| 139 | if queryParams.Platform != "" { |
| 140 | query = query.Where("platform = ?", queryParams.Platform) |
| 141 | } |
| 142 | if queryParams.UserID != "" { |
| 143 | query = query.Where("user_id = ?", queryParams.UserID) |
| 144 | } |
| 145 | if len(queryParams.UserIDs) != 0 { |
| 146 | query = query.Where("user_id in (?)", queryParams.UserIDs) |
| 147 | } |
| 148 | if queryParams.TaskID != "" { |
| 149 | query = query.Where("task_id = ?", queryParams.TaskID) |
| 150 | } |
| 151 | if queryParams.Action != "" { |
| 152 | query = query.Where("action = ?", queryParams.Action) |
| 153 | } |
| 154 | if queryParams.Status != "" { |
| 155 | query = query.Where("status = ?", queryParams.Status) |
| 156 | } |
| 157 | if queryParams.StartTimestamp != 0 { |
| 158 | query = query.Where("submit_time >= ?", queryParams.StartTimestamp) |
| 159 | } |
| 160 | if queryParams.EndTimestamp != 0 { |
| 161 | query = query.Where("submit_time <= ?", queryParams.EndTimestamp) |
| 162 | } |
| 163 | |
| 164 | // 获取数据 |
| 165 | err = query.Order("id desc").Limit(num).Offset(startIdx).Find(&tasks).Error |
| 166 | if err != nil { |
| 167 | return nil |
| 168 | } |
| 169 | |
| 170 | return tasks |
| 171 | } |
| 172 | |
| 173 | func GetAllUnFinishSyncTasks(limit int) []*Task { |
| 174 | var tasks []*Task |