Version: 0.2.6.dev.260211
feat: 🕒 为 schedule_events 表新增 start_time 与 end_time 字段 - 新增 start_time 与 end_time 两列 - 支持最近已完成任务列表接口 - 为后续获取当前正在进行的任务接口做准备 🚧 feat: ✅ 新增最近已完成任务列表接口并通过测试 - 完成接口实现与测试 🧪 - 当前 sv 层使用测试时间进行逻辑验证 - ⚠️ 生产环境需改回使用当前时间
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/LoveLosita/smartflow/backend/model"
|
||||
"github.com/LoveLosita/smartflow/backend/respond"
|
||||
@@ -444,3 +445,21 @@ func (d *ScheduleDAO) DeleteScheduleEventByTaskItemID(ctx context.Context, taskI
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *ScheduleDAO) GetUserRecentCompletedSchedules(ctx context.Context, nowTime time.Time, userID int, index, limit int) ([]model.Schedule, error) {
|
||||
var schedules []model.Schedule
|
||||
err := d.db.WithContext(ctx).
|
||||
Preload("Event").
|
||||
Preload("EmbeddedTask").
|
||||
Joins("JOIN schedule_events ON schedule_events.id = schedules.event_id").
|
||||
Where("schedules.user_id = ? AND schedule_events.type = ? AND schedule_events.end_time < ?",
|
||||
userID, "task", nowTime).
|
||||
Order("schedule_events.end_time DESC"). // 命中索引
|
||||
Offset(index).
|
||||
Limit(limit).
|
||||
Find(&schedules).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return schedules, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user