|
|
@@ -41,11 +41,11 @@ func (s *Server) HomeIndex(c *gin.Context) {
|
|
|
// 获取推荐任务
|
|
|
recommendTasks := make([]*entity.DtTask, 0)
|
|
|
// 尝试使用 is_recommend 字段,如果字段不存在则降级处理
|
|
|
- if err := db.Model(&entity.DtTask{}).Where("status = ? AND is_recommend = ?", 1, 1).
|
|
|
+ if err := db.Model(&entity.DtTask{}).Where("status IN (?) AND is_recommend = ?", []int8{entity.TaskStatusOnline, entity.TaskStatusPrepare}, 1).
|
|
|
Order("sort DESC, id DESC").Limit(10).Find(&recommendTasks).Error; err != nil {
|
|
|
if isColumnNotExistError(err) {
|
|
|
// 字段不存在,使用降级查询(不筛选推荐)
|
|
|
- db.Model(&entity.DtTask{}).Where("status = ?", 1).
|
|
|
+ db.Model(&entity.DtTask{}).Where("status IN (?)", []int8{entity.TaskStatusOnline, entity.TaskStatusPrepare}).
|
|
|
Order("sort DESC, id DESC").Limit(10).Find(&recommendTasks)
|
|
|
}
|
|
|
}
|
|
|
@@ -53,11 +53,11 @@ func (s *Server) HomeIndex(c *gin.Context) {
|
|
|
// 获取普通任务
|
|
|
normalTasks := make([]*entity.DtTask, 0)
|
|
|
// 尝试使用 is_top 字段,如果字段不存在则降级处理
|
|
|
- if err := db.Model(&entity.DtTask{}).Where("status = ? AND remain_count > 0", 1).
|
|
|
+ if err := db.Model(&entity.DtTask{}).Where("status IN (?) AND remain_count > 0", []int8{entity.TaskStatusOnline, entity.TaskStatusPrepare}).
|
|
|
Order("is_top DESC, created_at DESC").Limit(20).Find(&normalTasks).Error; err != nil {
|
|
|
if isColumnNotExistError(err) {
|
|
|
// 字段不存在,使用降级查询(不按置顶排序)
|
|
|
- db.Model(&entity.DtTask{}).Where("status = ? AND remain_count > 0", 1).
|
|
|
+ db.Model(&entity.DtTask{}).Where("status IN (?) AND remain_count > 0", []int8{entity.TaskStatusOnline, entity.TaskStatusPrepare}).
|
|
|
Order("created_at DESC").Limit(20).Find(&normalTasks)
|
|
|
}
|
|
|
}
|
|
|
@@ -112,13 +112,13 @@ func (s *Server) HomeHall(c *gin.Context) {
|
|
|
|
|
|
tasks := make([]*entity.DtTask, 0)
|
|
|
query := db.Model(&entity.DtTask{}).
|
|
|
- Where("status = ? AND remain_count > 0", 1)
|
|
|
+ Where("status IN (?) AND remain_count > 0", []int8{entity.TaskStatusOnline, entity.TaskStatusPrepare})
|
|
|
|
|
|
query.Count(&paging.Total)
|
|
|
paging.Computer()
|
|
|
|
|
|
// 尝试使用 is_top 和 is_recommend 字段,如果字段不存在则降级处理
|
|
|
- fallbackQuery := db.Model(&entity.DtTask{}).Where("status = ? AND remain_count > 0", 1)
|
|
|
+ fallbackQuery := db.Model(&entity.DtTask{}).Where("status IN (?) AND remain_count > 0", []int8{entity.TaskStatusOnline, entity.TaskStatusPrepare})
|
|
|
if err := query.Order("is_top DESC, is_recommend DESC, created_at DESC").
|
|
|
Offset(int(paging.Start)).
|
|
|
Limit(int(paging.Size)).
|
|
|
@@ -196,7 +196,7 @@ func (s *Server) TaskList(c *gin.Context) {
|
|
|
}
|
|
|
|
|
|
query := db.Model(&entity.DtTask{}).
|
|
|
- Where("status = ? AND remain_count > 0", 1)
|
|
|
+ Where("status IN (?) AND remain_count > 0", []int8{entity.TaskStatusOnline, entity.TaskStatusPrepare})
|
|
|
|
|
|
if categoryId > 0 {
|
|
|
query = query.Where("category_id = ?", categoryId)
|
|
|
@@ -210,7 +210,7 @@ func (s *Server) TaskList(c *gin.Context) {
|
|
|
|
|
|
tasks := make([]*entity.DtTask, 0)
|
|
|
// 尝试使用 is_top 和 is_recommend 字段,如果字段不存在则降级处理
|
|
|
- fallbackQuery := db.Model(&entity.DtTask{}).Where("status = ? AND remain_count > 0", 1)
|
|
|
+ fallbackQuery := db.Model(&entity.DtTask{}).Where("status IN (?) AND remain_count > 0", []int8{entity.TaskStatusOnline, entity.TaskStatusPrepare})
|
|
|
if categoryId > 0 {
|
|
|
fallbackQuery = fallbackQuery.Where("category_id = ?", categoryId)
|
|
|
}
|
|
|
@@ -277,7 +277,7 @@ func (s *Server) TaskDetail(c *gin.Context) {
|
|
|
|
|
|
// 获取任务
|
|
|
task := &entity.DtTask{}
|
|
|
- if err := db.Where("id = ? AND status = ?", taskId, 1).First(task).Error; err != nil {
|
|
|
+ if err := db.Where("id = ? AND status IN (?)", taskId, []int8{entity.TaskStatusOnline, entity.TaskStatusPrepare}).First(task).Error; err != nil {
|
|
|
ctx.Fail("task_not_found")
|
|
|
return
|
|
|
}
|