Version: 0.1.4.dev.260208
feat: 📆 新增查看用户整周日程接口
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
|
||||
"github.com/LoveLosita/smartflow/backend/conv"
|
||||
"github.com/LoveLosita/smartflow/backend/dao"
|
||||
"github.com/LoveLosita/smartflow/backend/model"
|
||||
"github.com/LoveLosita/smartflow/backend/respond"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
@@ -24,7 +25,7 @@ func NewScheduleService(scheduleDAO *dao.ScheduleDAO, userDAO *dao.UserDAO) *Sch
|
||||
}
|
||||
}
|
||||
|
||||
func (ss *ScheduleService) GetUserTodaySchedule(ctx context.Context, userID int) (interface{}, error) {
|
||||
func (ss *ScheduleService) GetUserTodaySchedule(ctx context.Context, userID int) ([]model.UserTodaySchedule, error) {
|
||||
//1.先检查用户id是否存在
|
||||
_, err := ss.userDAO.GetUserByID(userID)
|
||||
if err != nil {
|
||||
@@ -50,3 +51,35 @@ func (ss *ScheduleService) GetUserTodaySchedule(ctx context.Context, userID int)
|
||||
todaySchedules := conv.SchedulesToUserTodaySchedule(schedules)
|
||||
return todaySchedules, nil
|
||||
}
|
||||
|
||||
func (ss *ScheduleService) GetUserWeeklySchedule(ctx context.Context, userID, week int) ([]model.UserWeekSchedule, error) {
|
||||
//1.先检查 week 参数是否合法
|
||||
if week < 0 || week > 25 {
|
||||
return nil, respond.WeekOutOfRange
|
||||
}
|
||||
//2.先检查用户id是否存在
|
||||
_, err := ss.userDAO.GetUserByID(userID)
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return nil, respond.WrongUserID
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
//2.查询用户每周的日程安排
|
||||
//如果没有传入 week 参数,则默认查询当前周的日程安排
|
||||
if week == 0 {
|
||||
curTime := time.Now().Format("2006-01-02")
|
||||
var err error
|
||||
week, _, err = conv.RealDateToRelativeDate(curTime)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
schedules, err := ss.scheduleDAO.GetUserWeeklySchedule(ctx, userID, week)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
//3.转换为前端需要的格式
|
||||
weeklySchedules := conv.SchedulesToUserWeeklySchedule(schedules)
|
||||
return weeklySchedules, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user